postfix配置spf认证和dkim认证
1.为邮箱域名添加spf认证:
登录域名解析控制台添加txt记录:
v=spf1 include:spf1.domain.com ~all
spf1.domain.com A记录解析到你的固定IP
、什么是SPF?
(Sender Policy Framework) 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案。
接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
、为什么需要添加SPF记录?
SPF记录是一种发送者身份验证系统。通过设置SPF记录,可以阻止其他用户伪造你的域名进行发送。
、如何设置SPF来防止我的邮件被拒收呢?
为了提升域名邮箱发送外域邮件的成功率,建议您给自己的域名设置一条TXT记录来避免这种情况。
添加SPF记录的方法:
这方法很简单,只要我们的DNS供应商提供的管理界面中可以添加SPF记录就可以设置了(不是所有的供应商会提供这设置,我的域名是在godaddy.com上注册的,可以设置SPF记录)。设置时,添加一个SPF记录,然后输入域名,如果是本域,可用@来表示。然后在VALUE中输入如“v=spf1 ip4:67.202.107.106 -all”的值。 这值分三部分:
()v=spf1 说明是一个SPF的v1记录
()ip4:67.202.107.106 说明邮件会从此声明IPv4地址发出。它可以是一个IP,或一个IP段。如果有多个IP或多个IP段的话,可以声明多个ip4记录(如“ip4:1.0.1.0/ ip4:1.0.2.0/″),每个ip4记录间用空格分隔。
)-all 定义匹配时的返回值,可有如下选择:
) + 缺省值。在测试完成的时候表示通过。
) – 表示测试失败。这个值通常是-all,表示没有其他任何匹配发生。
) ~ 表示软失败,通常表示测试没有完成。
) ? 表示不置可否。这个值也通常在测试没有完成的时候使用。
所以“v=spf1 ip4:67.202.107.106 -all”的意思是这个域只有67.202.107.106这个IP可以发邮件出来,其他IP的都是非法的。
注意:
、 有些域名运营商要求输入的TXT记录的值当中包括前后的双引号的,即: "v=spf1 include:spf1.alibaba.mail.aliyun.com -all"才是对的。
、 TXT记录设置完了之后,并不是即时生效的,需要等待DNS缓存失效之后,才能看到最新的设置结果。
、如何验证SPF记录?
WindowsXP左下角的"开始"菜单选择运行(Win7点左下角图标后在搜索框里),输入cmd,点击确定;
输入"nslookup -qt=txt 你的域名"(如******.com),然后按回车键;
如果返回有如下结果就算成功了:
******.com text = "v=spf1 include:spf1.alibaba.mail.aliyun.com -all "
2、Ip反向解析,找isp添加一条IP到mail.domain.com记录
3.为postfix添加dkim认证:(http://blog.eqoe.cn/posts/build-perfect-mail-server.html) http://www.mail-tester.com/
为了后期更新,在这里我实用yum进行安装
yum search opendkim,查找opendkim安装包
找到安装包进行安装
yum install opendkim.x86_64
安装完毕后,修改opendkim配置文件
vim /etc/opendkim.conf,将以下内容复制到文件末尾,保存
AutoRestart Yes
AutoRestartRate 10/1h
LogWhy Yes
Syslog Yes
SyslogSuccess Yes
Mode sv
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
SignatureAlgorithm rsa-sha256
Socket inet:8891@localhost
PidFile /var/run/opendkim/opendkim.pid
UMask 022
UserID opendkim:opendkim
TemporaryDirectory /var/tmp
将接下来步骤的所有 test.com 替换成你自己的域名
mkdir /etc/opendkim/keys/test.com 新建域名目录
opendkim-genkey -D /etc/opendkim/keys/test.com/ -d test.com -s default 生成随机密钥
chown -R opendkim: /etc/opendkim/keys/test.com 将目录所有者改为opendkim
cp /etc/opendkim/keys/test.com/default.private /etc/opendkim/keys/test.com/default 复制一份,来作为私钥(不改直接用default.private也可以)
chown opendkim default 将复制的default文件的所有者改为opendkim(若不改发送邮件会显示没有权限)
把test.com添加到/etc/opendkim/KeyTable
default._domainkey.test.com test.com:default:/etc/opendkim/keys/test.com/default
修改/etc/opendkim/SigningTable并添加如下记录
*@test.com default._domainkey.test.com
添加信任主机到/etc/opendkim/TrustedHosts:
127.0.0.1
test.com
添加txt记录(基本就是default.txt中的内容)
配置完毕后,可以在http://dkimcore.org/tools/进行检测
配置成功,下面为postfix添加dkim认证:
修改postfix的main.cf文件,vim /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol =
配置完毕后重启postfix服务,启动opendkim服务
service postfix reload 重启postfix
service opendkim start 启动opendkim服务
dkim配置完毕
通过之前使用的phpmailer继续像gmail邮箱发送邮件,并查看原始邮件:
显示dkim:pass,配置完成
3.阿里云直接提交工单进行反向解析
至此全部配置完毕,邮件发送完成。
ps:在完成spf,dkim,反向解析之后,测试邮箱均能正常接收服务器发送的邮件,但是QQ邮箱依旧无法接收被拦截,查看log文件依旧提示550 ip受限,希望解决了这个的人能在下面留言给我点帮助。。
ps:在联系腾讯客服反馈问题后,问题得到解决,现在QQ邮箱能够正常接收邮件。
postfix配置spf认证和dkim认证的更多相关文章
- 配置sonarqube与gitlab sso认证集成
1.安装插件 sonar插件地址:https://github.com/gabrie-allaigre/sonar-auth-gitlab-plugin 安装插件: 下载插件然后通过maven打包然后 ...
- 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置)
点击返回:自学Aruba之路 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置) 步骤1 建立AP Group,命名为test802-group 步骤2 将AP加入到AP ...
- 配置Linux使用LDAP用户认证
配置Linux使用LDAP用户认证 本文首发:https://www.cnblogs.com/somata/p/LinuxLDAPUserAuthentication.html 我这里使用的是Cent ...
- Nginx 核心配置-location的登录账户认证实战篇
Nginx 核心配置-location的登录账户认证实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用ab命令模拟网站攻击 1>.安装httpd-tools工具 ...
- 配置Zuul代理下游的认证
配置Zuul代理下游的认证 您可以通过proxy.auth.*设置控制@EnableZuulProxy下游的授权行为.例: application.yml proxy: auth: routes: c ...
- CDH构建大数据平台-配置集群的Kerberos认证安全
CDH构建大数据平台-配置集群的Kerberos认证安全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 当平台用户使用量少的时候我们可能不会在一集群安全功能的缺失,因为用户少,团 ...
- Keytool配置 Tomcat的HTTPS双向认证
Keytool配置 Tomcat的HTTPS双向认证 证书生成 keytool 简介 Keytool是一个Java数据证书的管理工具, Keytool将密钥(key)和证书(certificates) ...
- linux邮件服务器postfix配置实例
linux邮件服务器postfix配置实例(超级详细!!!) 2013-03-13 13:30:21 标签:邮件服务器 linux 1. 系统安装:1)centos4.3 选上MAIL组件里的全部.2 ...
- zimbra启用SMTP认证并绑定认证登录和发件人
1. smtp认证 1.1 修改mynetworks 登录zimbra后台-->全局配置-->MTA-->信任网络-->127.0.0.0/8 ...
随机推荐
- Tomcat jdk 项目搭建问题
Tomcat 出现log4j未找到 是因为缺少servlet包 出现版本1.5及更高错误 是Java Compiler的版本错误 需重新导包Installed JRES.
- Java小故事(一)
import java.util.Date; //导入包 public class Test11 { public static void main(String [] args){ CatFathe ...
- Java调用Lua脚本(热载实现)
前言: Lua作为解析执行的脚本语言, 往往是易变逻辑编写的首选语言, 尤其是在游戏领域. C/C++和Lua的结合, 往往了标配. 比如Redis, Nginx其对Lua的支持, 也是杠杠的. 当然 ...
- JavaBasic_06
二维数组 二维数组定义格式 格式1 数据类型 变量名 = new 数据类型m; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数 格式2 灵活性 数据类型 a = new 数据类型m ...
- 关于PHP程序员技术职业生涯规划[转]
看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...
- 对于vs出现“This function or variable may be unsafe”
1.项目上右击选择“属性” 2.选择C/C++ ->预处理器 ->预处理器定义 3.添加一行 _CRT_SECURE_NO_WARNINGS 4.点击确定,重新编译成功.
- 20155219 2016-2017-2《Java程序设计》课程总结
20155219 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:做中学深入探讨 预备作业3:虚拟机的安装与学习 ...
- P1373 小a和uim之大逃离(动态规划)
题目链接:传送门 题目大意: 一个N行M列的矩阵,从任意点开始往右或者往下走,每走一格获得所到达的格子的分数. 要求总步数必须为偶数.问有多少种走法,使得奇数步得到的总分和偶数步得到的总分对K+1取模 ...
- 项目报错 exception 'MongoConnectionException' with message 'Failed to connect to: 127.0.0.1:27017: Authentication failed on database 'www' with username 'www': auth failed' in
出现这个错误,在官方文档也找到了解释,原来在2.6版本做了很大的改进,其改进涉及到核心.存储.网络.查询和安全性等多方面,自然,其用户登录认证机制也发生了改变,db.system.users的sche ...
- django ---forms组件
forms组件 本文目录 1 校验字段功能 2 渲染标签功能 3 渲染错误信息功能 4 组件的参数配置 5 局部钩子 6 全局钩子 回到目录 1 校验字段功能 针对一个实例:注册用户讲解. 模型:mo ...