配置Postfix以在Ubuntu上使用Gmail SMTP

Ore*_*lom 10 gmail smtp postfix

我在这里使用这个在线指南,通过一些gmail帐户启用从linux(ubuntu)终端发送简单邮件和postfix.我已经完成了那里列出的步骤:

sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
vim /etc/postfix/main.cf
Run Code Online (Sandbox Code Playgroud)

并添加以下行:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
Run Code Online (Sandbox Code Playgroud)

然后编辑此文件:

vim /etc/postfix/sasl_passwd
Run Code Online (Sandbox Code Playgroud)

要添加指南中所说的行:

[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD
Run Code Online (Sandbox Code Playgroud)

(当然有我自己的邮件和密码)然后最后:

sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
Run Code Online (Sandbox Code Playgroud)

然后:

sudo /etc/init.d/postfix reload
Run Code Online (Sandbox Code Playgroud)

当我尝试发送一封简单的邮件时,没有任何反应:

echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com
Run Code Online (Sandbox Code Playgroud)

(当然这里也有一些其他有效的电子邮件)

我究竟做错了什么?谢谢!

MrM*_*ins 5

我认为您需要验证证书以避免遇到错误。

尝试:

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
Run Code Online (Sandbox Code Playgroud)

如果您遇到上述命令的问题,请尝试将证书重命名为: thawte_Primary_Root_CA.pem在上述命令中。

现在,重新加载服务器

sudo /etc/init.d/postfix reload
Run Code Online (Sandbox Code Playgroud)