我正在使用命令:
echo "Test if email can be sent from server" | mail -s "Test" [email protected]
这是在完全最新的 Ubuntu Server 12.04 上。
为了让您了解我的故障排除:
1) 我已经安装了带有“Internet 站点”选项的 mailutils(或者该 Internet 选项是什么;我不记得它到底叫什么)。
2) 我已将自己添加到“邮件”组。
3) 我已经检查过我的 ISP 实际上确实阻止了端口 25。我按照这些说明使用端口 587 进行了操作,该端口未被阻止(我不确定这对外发邮件有影响;它看起来像一个邮件服务器我)
4) 我也试过echo "Test if email can be sent from server" | sendmail -f [email protected] [email protected]
,但这似乎也无济于事。
5) 我担心 gmail 正在端口 587 上接收,但它不知道如何处理流量。这是没有根据的考虑吗?
6) 我的 gmail 用户名包含一个“.” 在“@gmail.com”之前。这有可能混淆了mail
andsendmail
命令吗?(编辑:经过更多实验,这可能不是问题所在)
您必须在https://myaccount.google.com/上更改 gmail 安全设置,方法是激活“不太安全的应用程序访问权限”。如果“不太安全的应用程序访问”关闭,您发送的所有电子邮件都将被 Google 阻止。
下一步,你可以在https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp看到
SMTP 服务器仅接受 TCP 端口 25 上的传入邮件。如果它们接受来自其他端口(例如提交端口 587)的邮件,则仅用于提交来自已知/经过身份验证的客户端发送邮件的新邮件。来自未知客户端的传入邮件只能在端口 25 上被接受。
如果您的 ISP 阻止端口 25 上的传出连接,您将需要
编辑:OP 在表扬中指出,Gmail 允许您在 smtp.gmail.com 端口 465(SMTP over SSL)上通过 SMTP 验证和提交邮件。