热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Postfix邮件服务的基本配置和DNS设置

使用postfix发送邮件,需要你对本身配置做些修正,另外,也需要你设置相应的DNS,否则发送邮件会容易当做垃圾邮件。我们做几个步骤来看看收信的影响:1安装后不设置2设置hostname和domain3设置MX记录4设置SPF以下说明的信息为了去除隐私信息,做过
使用postfix发送邮件,需要你对本身配置做些修正,另外,也需要你设置相应的DNS,否则发送邮件会容易当做垃圾邮件。

我们做几个步骤来看看收信的影响:

1 安装后不设置
2 设置hostname和domain
3 设置MX记录
4 设置SPF

以下说明的信息为了去除隐私信息,做过一些名称修改:

= 1 没有任何配置 =

Delivered-To: your-email@gmail.com
Received: by 10.114.181.20 with SMTP id d20cs1238waf;
        Mon, 4 Jan 2010 17:33:21 -0800 (PST)
Received: by 10.141.90.17 with SMTP id s17mr7576023rvl.196.1262655201126;
        Mon, 04 Jan 2010 17:33:21 -0800 (PST)
Return-Path:
Received: from localhost.localdomain ([219.232.1.2])
        by mx.google.com with ESMTP id 20si58728702pwj.8.2010.01.04.17.33.18;
        Mon, 04 Jan 2010 17:33:19 -0800 (PST)
Received-SPF: neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@localhost.localdomain) client-ip=219.232.1.2;
Authentication-Results: mx.google.com; spf=neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@localhost.localdomain) smtp.mail=root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
  id 7BF5120DF2C; Mon,  4 Jan 2010 21:33:09 -0500 (EST)
To: your-email@gmail.com
Subject: test in 95
Message-Id:
Date: Mon,  4 Jan 2010 21:33:09 -0500 (EST)
From: root@localhost.localdomain (root)

test

我们看到,发信人是root@localhost.localdomain,明显不对的
回复邮件也肯定收不到,我们至少需要用户能够回复,当然,除非你不想。

= 2 设置hostname和domain =

postconf -e "myhostname=aslibra.com"
postconf -e "mydomain=mail.aslibra.com"
postfix reload

postfix里面修改参数可以用以上的方式,检查参数
可以是 postconf myhostname

Delivered-To: your-email@gmail.com
Received: by 10.114.181.20 with SMTP id d20cs2044waf;
        Mon, 4 Jan 2010 17:52:44 -0800 (PST)
Received: by 10.142.2.14 with SMTP id 14mr7796472wfb.93.1262656364099;
        Mon, 04 Jan 2010 17:52:44 -0800 (PST)
Return-Path:
Received: from aslibra.com ([219.232.1.2])
        by mx.google.com with ESMTP id 4si15052142pwj.24.2010.01.04.17.52.43;
        Mon, 04 Jan 2010 17:52:43 -0800 (PST)
Received-SPF: neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@aslibra.com) client-ip=219.232.1.2;
Authentication-Results: mx.google.com; spf=neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@aslibra.com) smtp.mail=root@aslibra.com
Received: by aslibra.com (Postfix, from userid 0)
  id 9AB3420DF2F; Mon,  4 Jan 2010 21:52:34 -0500 (EST)
To: your-email@gmail.com
Subject: test after modify myhostname and mydomain
Message-Id:
Date: Mon,  4 Jan 2010 21:52:34 -0500 (EST)
From: root@aslibra.com (root)

test

看到了吧?
发信人是 root@aslibra.com 了,这用户至少知道是谁发的
如果用户回复邮件,那就会发到aslibra.com指定的邮件服务器,这个是通过DNS查询判断发送到哪里的。
下面来修改DNS:

= 3 设置DNS =

添加一条MX记录:@ MX mail.aslibra.com.
再添加一条A记录: mail A your_IP
一般建议不直接指向IP

收到的邮件无变化,忽略邮件说明。

= 4 设置SPF =

细心的话,可以看的出来,gmail有一段信息:

Received-SPF: neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@aslibra.com) client-ip=219.232.1.2;
Authentication-Results: mx.google.com; spf=neutral (google.com: 219.232.1.2 is neither permitted nor denied by best guess record for domain of root@aslibra.com) smtp.mail=root@aslibra.com

SPF是什么?

SPF 是发送方策略框架
  (Sender Policy Framework) 的缩写,一种以IP(互联网协定)地址认证电子邮件寄件人身份的技术,是非常高效的垃圾邮件解决方案,旨在应对垃圾邮件中的一个特别问题——发送方假冒问题。当用户定义了他的域名SPF记录之后,接收邮件方会根据该用户的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。因此,那些发信人伪造域名的垃圾邮件在SPF的火眼金睛下再也无法隐藏,企业邮箱就可以有效地避免此类垃圾邮件。

设置SPF可以有简单的方法:
http://old.openspf.org/wizard.html

DNS添加一条TXT记录:

v=spf1 mx a:mail.aslibra.com ~all

邮件会不一样:

Delivered-To: your-email@gmail.com
Received: by 10.114.181.20 with SMTP id d20cs2325waf;
        Mon, 4 Jan 2010 17:58:31 -0800 (PST)
Received: by 10.141.100.8 with SMTP id c8mr13115112rvm.201.1262656711500;
        Mon, 04 Jan 2010 17:58:31 -0800 (PST)
Return-Path:
Received: from aslibra.com ([219.232.1.2])
        by mx.google.com with ESMTP id 35si27159111pxi.23.2010.01.04.17.58.30;
        Mon, 04 Jan 2010 17:58:30 -0800 (PST)
Received-SPF: pass (google.com: domain of root@aslibra.com designates 219.232.1.2 as permitted sender) client-ip=219.232.1.2;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of root@aslibra.com designates 219.232.1.2 as permitted sender) smtp.mail=root@aslibra.com
Received: by aslibra.com (Postfix, from userid 0)
  id 8C66C20DF2F; Mon,  4 Jan 2010 21:58:21 -0500 (EST)
To: your-email@gmail.com
Subject: test after setting SPF
Message-Id:
Date: Mon,  4 Jan 2010 21:58:21 -0500 (EST)
From: root@aslibra.com (root)

test

也就是通过了SPF检查,这样一般的邮件服务器都不会认为你的是垃圾邮件,除非很多人举报你。
当然,能够设置PTR记录就更加完美了。


推荐阅读
  • HDU1085 捕获本·拉登!
    问题描述众所周知,本·拉登是一位臭名昭著的恐怖分子,他已失踪多年。但最近有报道称,他藏匿在中国杭州!虽然他躲在杭州的一个洞穴中不敢外出,但近年来他因无聊而沉迷于数学问题,并声称如果有人能解出他的题目,他就自首。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 探讨了生成时间敏感的一次性伪随机密码的方法,旨在通过加入时间因素防止重放攻击。 ... [详细]
  • 解决jQuery Spinner按钮垂直排列问题
    本文探讨了如何通过CSS调整jQuery Spinner组件中的上下按钮,实现它们的垂直堆叠布局。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 在创建带有左侧图标的按钮时,遇到了文本与图标对齐的问题。本文提供了几种使用Bootstrap 4解决此问题的方法。 ... [详细]
  • 本文详细介绍了如何在 EasyUI 框架中实现 DataGrid 组件的分页功能,包括配置方法和常见问题的解决方案。 ... [详细]
  • 为何第三个div会影响其他两个div?
    探讨了在使用内联块(inline-block)元素布局时,第三个div如何影响前两个div的位置,并提供了具体的解决方案。 ... [详细]
  • 本文详细介绍了如何使用 Python 编程语言中的 Scapy 库执行 DNS 欺骗攻击,包括必要的软件安装、攻击流程及代码示例。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • Redis: 高效的键值存储系统
    Redis是一款遵循BSD许可的开源高性能键值存储系统,它不仅支持多种数据类型的存储,还提供了数据持久化和复制等功能,显著区别于其他键值缓存解决方案。 ... [详细]
  • 本文介绍了一个基本的同步Socket程序,演示了如何实现客户端与服务器之间的简单消息传递。此外,文章还概述了Socket的基本工作流程,并计划在未来探讨同步与异步Socket的区别。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
author-avatar
pilishen
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有