如何处理Microsoft Outlook IP黑名单
在以前的教程中,我解释了如何使用iRedMail或Modoboa轻松设置自己的邮件服务器,并分享了一些有关从黑名单中删除IP地址的提示。 但是,有些人很难下车 Microsoft Outlook IP黑名单,供Outlook.com,hotmail.com,live.com和msn.com邮件服务器使用。
如果您的IP地址被阻止,Microsoft Outlook通常会发送以下消息。
host eur.olc.protection.outlook.com[104.47.22.161] said: 550 5.7.1 Unfortunately, messages from [xx.xx.xx.xx] weren't sent. Please contact your Internet service provider since part of their network is on our block list (S3150). You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. [DB8EUR06FT013.eop-eur06.prod.protection.outlook.com] (in reply to MAIL FROM command)
如您所见,整个IP范围均被阻止。 我个人认为,由于对合法发件人的附带损害,因此不应该使用这种反垃圾邮件技术。 相比之下,Gmail在处理IP信誉方面更为智能。 您可以提交发件人信息表格来解决此问题。 有时Microsoft会取消阻止您的IP地址,有时会拒绝您的请求。
确保IP地址脱离Outlook黑名单的一种可靠方法是让您的邮件服务器通过Return Path进行认证。 但是,这非常昂贵。 您每年需要支付200美元的一次性申请费和至少1,375美元的许可费。 我将向您展示一种绕过Outlook IP黑名单的免费方法。
使用SMTP中继服务绕过Microsoft Outlook IP黑名单
您可以将邮件服务器配置为通过SMTP中继服务中继电子邮件。 他们保持良好的IP信誉,因此您的电子邮件可以通过IP黑名单获得。 有许多SMTP中继服务。 有些收取少量费用,有些每月提供免费配额。
您不必将邮件服务器配置为中继所有电子邮件。 我将向您展示如何配置Postfix SMTP服务器以中继发送到Outlook.com,hotmail.com,live.com和msn.com电子邮件地址的电子邮件,这样您就不会很快用完免费配额。 这些天来使用Microsoft邮箱的人并不多。 我的订户中只有6.5%使用Hotmail,Outlook,实时和MSN电子邮件地址。
我们还可以将Postfix SMTP服务器配置为使用多个SMTP中继服务。 因此,如果一家服务提供商允许您每月免费发送10,000封电子邮件,而我们使用3家服务提供商,那么我们可以每月免费发送30,000封电子邮件。
在这里,我推荐3种SMTP中继服务:
- SendPulse:每月12,000封电子邮件免费。 无需信用卡。
- SendinBlue:每月9,000封电子邮件免费。 无需信用卡。
- Mailjet:每月6,000封电子邮件免费。 无需信用卡。
我将向您展示如何使用Postfix SMTP服务器设置它们。
配置SendPulse SMTP中继
首先,在SendPulse创建一个免费帐户。 之后,点击 SMTP
单击SendPulse仪表板中的按钮,然后单击 Get started
。
接下来,您需要完成您的用户个人资料。
然后,您需要等待SendPulse审查您的帐户。 帐户获得批准后,您可以使用SendPulse发送电子邮件。 点击 SMTP Settings
按钮,然后在Postfix SMTP服务器中使用SMTP设置。
SSH进入您的邮件服务器,并使用命令行文本编辑器(如Nano)打开Postfix主配置文件。
sudo nano /etc/postfix/main.cf
在此文件的末尾添加以下行。
transport_maps = regexp:/etc/postfix/transport.microsoft
暗示
如果您使用 iRedMail,您可以找到 transport_maps
参数并添加regexp行。
transport_maps = regexp:/etc/postfix/transport.microsoft proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf proxy:mysql:/etc/postfix/mysql/transport_maps_maillist.cf proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
如果您使用 莫多博阿,您可以找到 tranport_maps
参数并添加regexp行。
transport_maps = regexp:/etc/postfix/transport.microsoft proxy:mysql:/etc/postfix/sql-transport.cf proxy:mysql:/etc/postfix/sql-spliteddomains-transport.cf
然后将以下行添加到该文件的末尾。
# outbound relay configurations smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_security_level = may header_size_limit = 4096000
保存并关闭文件。 接下来,创建 /etc/postfix/transport.microsoft
文件。
sudo nano /etc/postfix/transport.microsoft
在此文件中添加以下行。 这告诉Postfix如果收件人是一个收件人,则使用SendPulse SMTP中继。 邮件 用户。
/.*@hotmail.*/i relay:[smtp-pulse.com]:587
保存并关闭文件。 创建.db文件。
sudo postmap /etc/postfix/transport.microsoft
接下来,创建 /etc/postfix/sasl_passwd
文件。
sudo nano /etc/postfix/sasl_passwd
如下所示,将SMTP中继主机和SMTP凭据添加到此文件。 更换 smtp_username
和 smtp_password
使用您自己的用户名和密码(由SendPulse提供)。 请注意,用户名和密码之间会有一个冒号。
[smtp-pulse.com]:587 smtp_username:smtp_password
保存并关闭文件。 然后使用以下命令创建相应的哈希数据库文件 postmap
。
sudo postmap /etc/postfix/sasl_passwd
现在您应该有一个文件 /etc/postfix/sasl_passwd.db
。 重新启动Postfix,以使更改生效。
sudo systemctl restart postfix
默认, sasl_passwd
和 sasl_passwd.db
文件可以由服务器上的任何用户读取。 将权限更改为600,以便只有root可以读写这两个文件。
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
从现在开始,Postfix将使用SendPulse SMTP中继将电子邮件发送给hotmail用户。 您需要更新域名的SPF记录。 例如,如果您的SPF记录是
v=spf1 mx ~all
然后将其更改为以下内容,以允许SendPulse服务器为您发送电子邮件。
v=spf1 include:mxsmtp.sendpulse.com mx ~all
请注意,如果您已经在自己的邮件服务器上配置了DKIM,则不必在SendPulse中再次配置DKIM,因为SendPulse不会在电子邮件中添加其他DKIM签名。
现在,您可以将测试电子邮件发送到hotmail.com电子邮件地址。
配置SendinBlue SMTP中继
在SendinBlue创建一个免费帐户。 完成用户个人资料后,点击 transactional
标签,您将获得SMTP设置。
请注意,您可能需要联系Sendinblue客户服务才能激活交易电子邮件服务。
然后编辑 /etc/postfix/transport.microsoft
文件。
sudo nano /etc/postfix/transport.microsoft
在此文件中添加以下行。 如果收件人是Outlook用户,这将告诉Postfix使用SendinBlue SMTP中继。
/.*@outlook.*/i relay:[smtp-relay.sendinblue.com]:587
保存并关闭文件。 创建.db文件。
sudo postmap /etc/postfix/transport.microsoft
然后编辑密码数据库。
sudo nano /etc/postfix/sasl_passwd
如下所示,将SMTP中继主机和SMTP凭据添加到此文件。 更换 smtp_username
和 smtp_password
使用您自己的用户名和密码(由SendinBlue提供)。 请注意,用户名和密码之间会有一个冒号。
[smtp-relay.sendinblue.com]:587 smtp_username:smtp_password
保存并关闭文件。 然后使用以下命令创建相应的哈希数据库文件 postmap
。
sudo postmap /etc/postfix/sasl_passwd
重新启动Postfix,以使更改生效。
sudo systemctl restart postfix
请注意,您需要点击 发件人和IP 标签,然后添加您的域。
在SendinBlue中设置SPF / DKIM身份验证
在您的SendinBlue仪表板中,单击右上角的帐户名,然后单击 Senders & IP
。 选择 Domains
标签-> Manage
-> Authenticate this domain
。
出现一个弹出窗口。 您需要为您的域添加前3条记录。
请注意,您的SPF记录还应包括SendPulse。
v=spf1 include:mxsmtp.sendpulse.com include:spf.sendinblue.com mx ~all
配置Mailjet SMTP中继
在Mailjet创建一个免费帐户。 激活Mailjet帐户后,您将需要选择 营销人员 和 开发者。 在这里我们选择 开发者 为了使用SMTP中继。
在下一个屏幕中,选择 SMTP relay
然后点击 Continue
按钮。
然后,您将获得SMTP配置。
编辑 /etc/postfix/transport.microsoft
文件在您的邮件服务器上。
sudo nano /etc/postfix/transport.microsoft
在此文件的末尾添加以下两行。 如果收件人是Micosoft live和MSN邮件用户,这将告诉Postfix使用Mailjet SMTP中继。
/.*@live.*/i relay:[in-v3.mailjet.com]:587 /.*@msn.*/i relay:[in-v3.mailjet.com]:587
保存并关闭文件。 创建.db文件。
sudo postmap /etc/postfix/transport.microsoft
然后编辑密码数据库。
sudo nano /etc/postfix/sasl_passwd
如下所示,将SMTP中继主机和SMTP凭据添加到此文件。 更换 smtp_username
和 smtp_password
使用Mailjet给出的您自己的用户名和密码。 请注意,用户名和密码之间会有一个冒号。
[in-v3.mailjet.com]:587 smtp_username:smtp_password
保存并关闭文件。 然后使用以下命令创建相应的哈希数据库文件 postmap
。
sudo postmap /etc/postfix/sasl_passwd
重新启动Postfix,以使更改生效。
sudo systemctl restart postfix
现在,您应该能够使用Mailjet SMTP中继将电子邮件发送给Microsoft live和MSN用户。 点击 添加并验证域 按钮,以添加发件人地址或添加您的域。
您还需要更新域名的SPF记录。 例如,如果您的SPF记录是
v=spf1 include:mxsmtp.sendpulse.com +a +mx ~all
然后将其更改为以下内容,以允许Mailjet服务器为您发送电子邮件。
v=spf1 include:mxsmtp.sendpulse.com include:spf.mailjet.com +a +mx ~all
在Mailjet中设置SPF / DKIM身份验证
在mailjet仪表板中,单击 setup SPF/DKIM authentication
。 默认情况下,SPF状态和DKIM状态均为错误。 请点击 manage
按钮,然后按照说明添加SPF和DKIM记录。
创建SPF和DKIM记录后,请稍等片刻,然后刷新Mailjet网页。 您的新DNS记录可能需要一些时间才能在Internet上传播,具体取决于您的DNS托管服务。 如果正确设置了SPF和DKIM记录并且传播完成,Mailjet会告诉您SPF和DKIM记录是好的。
包起来
我希望本教程可以帮助您绕过Microsoft Outlook IP黑名单。 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多有用的教程🙂