AWS EC2 Sendmail 域名配置

sendmail是Linux下优秀的邮件系统,因为aws ec2使用的是动态DNS,在不做设定的情况下,sendmail发出邮件的邮箱源地址形如 ec2-user@domu-12-31-39-0c-71-51.compute-1.internal 这种地址几乎会被所有的邮箱认定为SPAM。

配置sendmail使用自己的域名分两步,修改sendmail的配置文件和添加域名MX记录。

sendmail 可以直接使用 “–r account@domain.com” 参数来以任意源地址发送邮件,但目前主流的邮箱都会将源地址和反向解析IP进行比较,如果解析不到或是解析的IP不匹配,轻则将邮件直接归为SPAM,严重的就直接拒绝接收。

MX记录(Mail Exchanger Record)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。

第一步:sendmail配置文件修改,配置文件所在目录为/etc/mail,使用域名以ph6.org为例子

1. 将域名加入到local-host-names文件

cat local-host-names
ph6.org

2. 修改 submit.cf 文件

找到行 #Dj$w.Foo.COM
修改为 Djph6.org

至此,sendmail 配置完毕,使用如下命令来重启使配置生效。

sudo service sendmail restart

第二步:添加域名MX记录

找到修改域名信息的页面(不同的域名注册商页面不相同),修改结果因域名商的不同最迟会在24小时内生效。

1. 添加域名A记录 mail  直接指向你的ec2实例的静态IP地址。

2. 添加(或是修改)域名的MX记录,形如

整个配置很简单,但因搜索到的结果较为杂乱,还是走了很多弯路,特记录在此。最后,IT JUST WORKS。