云平台厂商如何避免IP进入垃圾邮件黑名单
各大邮件服务商都有严格的反垃圾邮件规则,一旦IP或者域名进入了垃圾邮件黑名单,那么各大厂商都会拒收来自这个IP或者域名的所有邮件,并且只有解决掉垃圾邮件问题才能从黑名单中移除,无法申诉黑名单例外。所以几乎所有云平台厂商都默认禁止使用云平台的IP向外发送邮件,业务需要时可以申请并遵守协议才开放有限的IP发送邮件。那么有什么技术解决方案,满足用户发送邮件的需求呢?一些云平台厂商提供了SMTP中继服务,用户可将邮件通过云平台的中继服务器代发邮件,中继服务器在进行垃圾邮件过滤后再转发出去。 下面我们看一下如何使用Postfix搭建邮件中继服务器,搭建邮件中继服务器过程如下: 1,生成TLS证书,SMTP使用安全连接传输邮件。 2,安装Postfix,提供邮件发送服务。 3,安装dovecot,用于Postfix的SMTP服务认证smtp-auth。 4,安装spamassassin,用于垃圾邮件扫描。 5,用户配置路由,使用中继服务器发送邮件。 基本概念 Smarthost/SMTP relay SMTP是简单邮件发送协议简称,SMTP relay,SMTP中继,SMTP relay提供邮件代发服务,用户的邮件服务器通过配置,将邮件发送到SMTP relay服务器,SMTP relay服务器将邮件发送到目的邮件服务器。Smarthost也是SMTP relay服务,smarthost需要认证才能使用代发服务,面向部分特定用户。中继服务器一般只提供SMTP发送邮件服务,不提供IMAP/POP3邮箱服务。 SASL Simple Authentication and Security Layer, 简单验证和安全层,SASL为应用程序和共享库的开发者提供了用于验证、数据完整性检查和加密的机制。SASL特别适用于使用SMTP、IMAP应用程序,SMTP、IMAP这些协议全都支持SASL。SASL对用户使用两个重要的标识符,验证ID(authid)用于验证用户的用户ID,授予用户系统访问权限。授权ID(userid)用于检查是否允许用户使用特定选项。SASL客户端和服务器应用程序协商SASL机制和安全级别,双方协商验证机制后,交换验证数据进行验证。 SMTP over SSL/TLS SSL(Secure Socket Layer)是加密传输层,TLS(Transport Layer Security)是SSL的升级版,提供更好的安全性和性能。STARTTLS是升级非安全连接为安全连接的协议,当服务端支持时,客户端和服务端协商将已经建立的连接升级到SSL加密。 设置主机名和DNS DNS中添加主机名解析,同时在域名的SPF记录中添加允许这台中继服务器发送邮件。 # 主机名配置FQDN域名 root@mx1:~# vi /etc/hostname mx1.primebooksnepal.com # 在DNS上添加A记录解析主机名 root@mx1:~# dig mx1.primebooksnepal.com +short 220.182.46.201 root@mx1:~# dig txt primebooksnepal.com +short "v=spf1 +a +mx +ip4:103.98.131.78 +ip4:220.182.46.201 include:_spf.google.com -all" "google-site-verification=z0qEJnwgxS04QWO_g_jlKLQCDKeqskPgMddZ39HI8-c" root@mx1:~# 安装Let’s encrypt 通过DNS认证方式生成SSL证书,CA证书 /etc/letsencrypt/live/mx1.primebooksnepal.com/fullchain.pem,私有key /etc/letsencrypt/live/mx1.primebooksnepal.com/key.pem。certbot会自动创建任务进行证书更新。 root@mx1:~# apt install certbot root@mx1:~# certbot certonly --manual --rsa-key-size 4096 --agree-tos --preferred-challenges dns -d mx1.