-
如何使用Mailjet在Debian上设置Postfix SMTP中继
本教程将向您展示如何在Debian上使用Mailjet设置Postfix SMTP中继。Postfix是一种流行的开源SMTP服务器。之前,我写了一篇文章,介绍了如何使用Modoboa在Debian上快速设置自己的电子邮件服务器,这有助于许多读者运行自己的电子邮件服务器。 然而,一些读者告诉我,作为控制垃圾邮件的一种方式,25端口被主机提供商或ISP屏蔽,因此他们无法发送电子邮件。如果您要求,Vultr将解锁端口25,ScalaHost根本不会阻止端口25,因此我建议使用ScalaHost VPS。其他一些主机服务提供商或ISP(如DigitalOcean)不会解锁端口25,所以如果您不能或不想更改主机服务提供商,您可以做些什么来绕过这种阻塞? SMTP接力救援 您可以绕过端口25,通过SMTP中继向外部世界发送电子邮件,因为它使用端口587。使用SMTP中继,您自己的电子邮件服务器不会直接将电子邮件发送到目标电子邮件地址。相反,有一个中间邮件服务器,也称为智能主机或中继主机,代表您发送电子邮件。您的电子邮件服务器通过端口587与智能主机通信,然后智能主机通过端口25与收件人的邮件服务器通信。 SMTP中继还可以帮助您绕过反垃圾邮件黑名单,如果您的IP地址因任何原因被列入黑名单。收件人的邮件服务器根据公共反垃圾邮件黑名单检查智能主机的IP地址,而不是检查您的服务器IP地址,因为SMTP中继服务保持良好的IP信誉,所以您的电子邮件可以通过IP黑名单。 使用Mailjet每天免费发送200封电子邮件 有几个电子邮件服务提供商(ESP)可以充当智能主机。有些收取一点费用,有些每月提供免费配额。在本文中,我想向您展示如何使用Mailjet,这是一家电子邮件服务提供商,允许您每天免费发送200封电子邮件。 Mailjet的好处在于,当你使用免费的SMTP中继服务时,它不需要你输入信用卡的详细信息。还有其他ESP每月提供免费配额,但要求您输入信用卡详细信息。(我知道当你没有信用卡时会有多沮丧。)与其他ESP相比,Mailjet也更容易设置。 在mailjet上创建一个帐户。通用域名格式。然后在仪表板上,你可以看到你需要做的三件事。 设置SMTP 管理发件人地址 设置域身份验证(SPF和DKIM) 步骤1:在Debian上设置后缀SMTP中继 首先,让我们使用以下命令在Debian上安装Postfix SMTP服务器。如果Postfix已经在您的服务器上运行,那么请跳过安装Postfix,但您仍然需要安装libsasl2模块包。 sudo apt install postfix libsasl2-modules 当您看到以下消息时,按Tab键并按Enter键。 然后选择第二个选项:互联网站点。 接下来,设置系统邮件名称。例如,我输入我的域名linuxbabe。通用域名格式。 安装Postfix后,打开配置文件。 sudo nano /etc/postfix/main.cf 找到下面这行。 relayhost = 默认情况下,不会设置其值。你需要从你的mailjet账户中获取这个值。在mailjet仪表板中,单击设置我的SMTP。 您将看到SMTP服务器地址和SMTP凭据。 在Postfix配置文件中,将relayhost的值设置为In-v3。mailjet。com:587。 relayhost = in-v3.mailjet.com:587 然后将以下行添加到此文件的末尾。 # 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/sasl_passwd文件。 sudo nano /etc/postfix/sasl_passwd 将SMTP中继主机和SMTP凭据添加到此文件,如下所示。用真正的Mailjet api密钥和密钥替换api密钥和密钥。 in-v3.mailjet.com:587 api-key:secret-key 保存并关闭文件。然后用postmap创建相应的hash db文件。 sudo postmap /etc/postfix/sasl_passwd 现在你应该有一个文件/etc/postfix/sasl_passwd。db。重新启动Postfix以使更改生效。 sudo systemctl restart postfix 默认情况下,sasl_passwd和sasl_passwd。数据库文件可以被服务器上的任何用户读取。将权限更改为600,这样只有root用户才能读写这两个文件。 sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db 从现在起,Postfix将通过mailjet发送电子邮件。 第2步:添加发件人地址 要通过mailjet发送电子邮件,您需要添加发件人域或发件人地址。在mailjet dashboard中,单击管理发件人地址。您可以验证整个域或特定电子邮件地址。 步骤3:设置域身份验证 在这一步中,我们需要设置SPF和DKIM记录,如果您希望您的电子邮件进入收件人的收件箱而不是垃圾邮件文件夹,强烈建议您这样做。 SPF:发送方策略框架。这是一个DNS记录,指定允许哪些IP地址从您的域发送电子邮件。 DKIM:DomainKeys已识别邮件。Mailjet将使用私钥对您的电子邮件进行数字签名。DKIM记录包含一个公钥,允许收件人的电子邮件服务器验证签名。 在mailjet仪表板中,单击设置域身份验证。默认情况下,SPF状态和DKIM状态都是错误的。单击管理按钮并按照说明添加SPF和DKIM记录。 创建SPF和DKIM记录后,请稍等片刻,然后刷新mailjet网页。您的新DNS记录可能需要一些时间才能在Internet上传播,具体取决于您的DNS托管服务。如果SPF和DKIM记录设置正确且传播完成,mailjet会告诉您SPF和DKIM记录良好。 发送测试电子邮件 现在我们可以使用mailx命令发送测试电子邮件,如下所示。 sudo apt install bsd-mailx echo "this is a test email." | mailx -r from-address -s hello to-address 您还可以从webmail客户端或桌面邮件客户端发送测试电子邮件。在网上测试你的电子邮件分数也是个好主意https://www.mail-tester.com.如你所见,我得了满分。 故障排除 如果您的电子邮件未送达,而您在邮件日志(/var/log/mail.log)中发现以下消息, Relay access denied (in reply to RCPT TO command)) 然后,您可能需要编辑/etc/postfix/sasl_passwd文件,并删除主机名后面的端口号,如下所示。 in-v3.mailjet.com api-key:secret-key 保存并关闭文件。然后再次构建索引文件。 sudo postmap /etc/postfix/sasl_passwd 重新启动Postfix以使更改生效。 sudo systemctl restart postfix 现在,您可以刷新电子邮件队列(尝试发送以前的电子邮件)。 sudo postqueue -f 添加其他域 如果在新计算机上为新域名设置邮件服务器,并且要为此新域名设置SMTP中继,请执行相同的步骤: 配置后缀SMTP中继设置, 在Mailjet仪表板中验证新域名 设置SPF和DKIM验证 收尾 就这样!我希望本教程能帮助您在Debian上设置Postfix SMTP中继,绕过端口25或IP黑名单。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心。
-
如何使用Mailjet在Ubuntu上设置后缀SMTP中继
本教程将向您展示如何在Ubuntu上使用Mailjet设置Postfix SMTP中继。Postfix是一种流行的开源SMTP服务器。之前我写过一篇文章,介绍如何使用iRedMail在Ubuntu上轻松设置一个完整的电子邮件服务器,帮助很多读者运行自己的电子邮件服务器。 然而,一些读者告诉我,作为控制垃圾邮件的一种方式,25端口被主机提供商或ISP屏蔽,因此他们无法发送电子邮件。如果你要求,Vultr会解锁端口25,而ScalaHost根本不会阻止端口25,所以我建议使用ScalaHost VPS,其他一些主机提供商或ISP(如DigitalOcean)会拒绝解锁端口25。 SMTP接力救援 您可以绕过端口25,通过SMTP中继向外部世界发送电子邮件,因为它使用端口587。使用SMTP中继,您自己的电子邮件服务器不会直接将电子邮件发送到目标电子邮件地址。相反,有一个中间邮件服务器,也称为智能主机或中继主机,代表您发送电子邮件。您的电子邮件服务器通过端口587与智能主机通信,然后智能主机通过端口25与收件人的邮件服务器通信。 SMTP中继还可以帮助您绕过反垃圾邮件黑名单,如果您的IP地址因任何原因被列入黑名单。收件人的邮件服务器根据公共反垃圾邮件黑名单检查智能主机的IP地址,而不是检查您的服务器IP地址,因为SMTP中继服务保持良好的IP信誉,所以您的电子邮件可以通过IP黑名单。 使用Mailjet每天免费发送200封电子邮件 有几个电子邮件服务提供商(ESP)可以充当智能主机。有些收取一点费用,有些每月提供免费配额。在本文中,我想向您展示如何使用Mailjet,这是一家电子邮件服务提供商,允许您每天免费发送200封电子邮件。 Mailjet的好处在于,当你使用免费的SMTP中继服务时,它不需要你输入信用卡的详细信息。还有其他ESP每月提供免费配额,但要求您输入信用卡详细信息。(我知道当你没有信用卡时会有多沮丧。)与其他ESP相比,Mailjet也更容易设置。 在mailjet上创建一个帐户。通用域名格式。然后在仪表板上,你可以看到你需要做的三件事。 设置SMTP 管理发件人地址 设置域身份验证(SPF和DKIM) 第一步:在Ubuntu上设置后缀SMTP中继 首先,让我们使用以下命令在Ubuntu上安装Postfix SMTP服务器。如果Postfix已经在您的服务器上运行,那么请跳过安装Postfix,但您仍然需要安装libsasl2模块包。 sudo apt install postfix libsasl2-modules 当您看到以下消息时,按Tab键并按Enter键。 然后选择第二个选项:互联网站点。 接下来,设置系统邮件名称。例如,我输入我的域名linuxbabe。通用域名格式。 安装Postfix后,打开配置文件。 sudo nano /etc/postfix/main.cf 找到下面这行。 relayhost = 默认情况下,不会设置其值。你需要从你的mailjet账户中获取这个值。在mailjet仪表板中,单击设置我的SMTP。 您将看到SMTP服务器地址和SMTP凭据。 在Postfix配置文件中,将relayhost的值设置为In-v3。mailjet。com:587。 relayhost = in-v3.mailjet.com:587 然后将以下行添加到此文件的末尾。 # 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/sasl_passwd文件。 sudo nano /etc/postfix/sasl_passwd 将SMTP中继主机和SMTP凭据添加到此文件,如下所示。用真正的Mailjet api密钥和密钥替换api密钥和密钥。 in-v3.mailjet.com:587 api-key:secret-key 保存并关闭文件。然后用postmap创建相应的hash db文件。 sudo postmap /etc/postfix/sasl_passwd 现在你应该有一个文件/etc/postfix/sasl_passwd。db。重新启动Postfix以使更改生效。 sudo systemctl restart postfix 默认情况下,sasl_passwd和sasl_passwd。数据库文件可以被服务器上的任何用户读取。将权限更改为600,这样只有root用户才能读写这两个文件。 sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db 从现在起,Postfix将通过mailjet发送电子邮件。 第2步:添加发件人地址 要通过mailjet发送电子邮件,您需要添加发件人域或发件人地址。在mailjet dashboard中,单击管理发件人地址。您可以验证整个域或特定电子邮件地址。 步骤3:设置域身份验证 在这一步中,我们需要设置SPF和DKIM记录,如果您希望您的电子邮件进入收件人的收件箱而不是垃圾邮件文件夹,强烈建议您这样做。 SPF:发送方策略框架。这是一个DNS记录,指定允许哪些IP地址从您的域发送电子邮件。 DKIM:DomainKeys已识别邮件。Mailjet将使用私钥对您的电子邮件进行数字签名。DKIM记录包含一个公钥,允许收件人的电子邮件服务器验证签名。 在mailjet仪表板中,单击设置域身份验证。默认情况下,SPF状态和DKIM状态都是错误的。单击管理按钮并按照说明添加SPF和DKIM记录。 创建SPF和DKIM记录后,请稍等片刻,然后刷新mailjet网页。您的新DNS记录可能需要一些时间才能在Internet上传播,具体取决于您的DNS托管服务。如果SPF和DKIM记录设置正确且传播完成,mailjet会告诉您SPF和DKIM记录良好。 发送测试电子邮件 现在我们可以使用mailx命令发送测试电子邮件,如下所示。 sudo apt install bsd-mailx echo "this is a test email." | mailx -r from-address -s hello to-address 您还可以从webmail客户端或桌面邮件客户端发送测试电子邮件。在网上测试你的电子邮件分数也是个好主意https://www.mail-tester.com.如你所见,我得了满分。 故障排除 如果您的电子邮件未送达,而您在邮件日志(/var/log/mail.log)中发现以下消息, Relay access denied (in reply to RCPT TO command)) 然后,您可能需要编辑/etc/postfix/sasl_passwd文件,并删除主机名后面的端口号,如下所示。 in-v3.mailjet.com api-key:secret-key 保存并关闭文件。然后再次构建索引文件。 sudo postmap /etc/postfix/sasl_passwd 重新启动Postfix以使更改生效。 sudo systemctl restart postfix 现在,您可以刷新电子邮件队列(尝试发送以前的电子邮件)。 sudo postqueue -f 添加其他域 如果在新计算机上为新域名设置邮件服务器,并且要为此新域名设置SMTP中继,请执行相同的步骤: 配置后缀SMTP中继设置, 在Mailjet仪表板中验证新域名 设置SPF和DKIM验证 收尾 就这样!我希望本教程能帮助你在Ubuntu上设置Postfix SMTP中继,绕过端口25或IP黑名单。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心。