云网牛站
所在位置:首页 > Linux云服务器 > 在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

2019-08-03 16:01:13作者:曾中位稿源:云网牛站

本文将向你展示如何在Debian操作系统上使用Mailjet设置Postfix SMTP Relay(中继)。你可以绕过25端口并使用SMTP中继向外部世界发送电子邮件,因为它使用587端口,使用SMTP中继,你自己的电子邮件服务器不会直接向目标电子邮件地址发送电子邮件,相反,有一个中间邮件服务器,也称为智能主机或中继主机,代表你发送电子邮件,你的电子邮件服务器在587端口上与智能主机通信,然后智能主机与25端口上的收件人邮件服务器通信。如果你的IP地址因任何原因被列入不友好的名单,那SMTP中继还可以帮助你绕过反垃圾邮件的名单,收件人的邮件服务器检查智能主机的IP地址与公共反垃圾邮件名单,而不是你的服务器IP地址,并且因为SMTP中继服务保持良好的IP信誉,因此你的电子邮件可以通过IP相关名单。在本文中,我想向你展示如何使用Mailjet,它是一个电子邮件服务提供商,允许你每天免费发送200封电子邮件,Mailjet的优点在于,当你使用免费的SMTP中继服务时,它不要求你输入相关详细信息,在mailjet上创建一个帐户,然后在仪表板上,你可以看到需要执行的3件事:设置SMTP、管理发件人地址、设置域身份验证(SPF和DKIM)。

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

 

一、在Debian上设置Postfix SMTP Relay

首先,让我们使用以下命令在Debian上安装Postfix SMTP服务器,如果Postfix已在你的服务器上运行,则跳过安装Postfix,但你仍需要安装libsasl2-modules软件包:

sudo apt install postfix libsasl2-modules

参考:在Ubuntu 18.04系统上安装和配置Postfix作为SMTP服务器

当看到以下消息时,按Tab键并按Enter键:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

然后选择第二个选项Internet Site:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

接下来,设置系统邮件名称,例如输入域名ywnz.com,又如输入域名linuxbabe.com:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

安装Postfix后,打开配置文件:

sudo nano /etc/postfix/main.cf

找到以下行:

relayhost =

默认情况下,未设置其值,你需要从mailjet帐户中获取此值,在mailjet仪表板中,单击“设置我的SMTP(setup my SMTP)”:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

你将看到SMTP服务器地址和SMTP信息:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

在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-key和密钥:

in-v3.mailjet.com:587  api-key:secret-key

保存并关闭文件,然后使用postmap创建相应的哈希db文件:

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将通过mailjet发送电子邮件。

 

二、添加发件人地址

你需要添加发件人域名或发件人地址才能通过mailjet发送电子邮件,在mailjet仪表板中,单击“管理发件人地址(manage sender addresses)”,你可以验证整个域或特定电子邮件地址:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

 

三、设置域身份验证

在此步骤中,我们需要设置SPF和DKIM记录,如果你希望电子邮件登陆收件人的收件箱,而不是垃圾邮件文件夹,强烈建议你这样做。

1、SPF:发件人政策框架,这是一条DNS记录,指定允许从你的域发送电子邮件的IP地址。

2、DKIM:DomainKeys识别邮件,Mailjet将使用私钥对你的电子邮件进行数字签名,DKIM记录包含一个公钥,允许收件人的电子邮件服务器验证签名。

在mailjet仪表板中,单击“设置域身份验证(setup domain authentication)”,默认情况下,SPF状态和DKIM状态都是错误的,单击“管理(manage)”按钮,然后按照说明添加SPF和DKIM记录:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

创建SPF和DKIM记录后,请稍等片刻并刷新mailjet网页,你的新DNS记录可能需要一些时间才能在Internet上传播,具体取决于你的DNS托管服务,如果SPF和DKIM记录设置正确且传播完成,mailjet会告诉你SPF和DKIM记录是好的:

在Debian上使用Mailjet设置Postfix SMTP Relay(中继)的方法

 

四、发送测试电子邮件

现在我们可以发送一封带有mailx命令的测试邮件,如下所示:

sudo apt install bsd-mailx

echo "this is a test email." | mailx -r from-address -s hello to-address

你还可以从Webmail客户端或桌面邮件客户端发送测试电子邮件。

至此,在Debian上设置Postfix SMTP中继的操作已全部完成。

 

相关主题

在Ubuntu上的2个Postfix SMTP服务器之间设置SMTP中继

精选文章
热门文章