终端不会弹出任何错误消息,但我从未收到过该电子邮件。 这是我的代码:
mail -s "hello" "example@example.com" <<EOF
hello
world
EOF
答案 0 :(得分:1)
对我来说很好:
pax> mail -s "hello" "pax" <<EOF
hi there
EOF
pax> mailx
Mail version 8.1.2 01/15/2001. Type ? for help.
"/var/mail/pax": 1 message 1 new
>N 1 pax@paxbox.com Sat Jun 14 10:25 16/629 hello
& _
您应首先尝试使用本地地址(正如我所知)查看是否正在创建邮件。
除此之外,您应该意识到mail
只是将邮件消息添加到邮件系统中。如果你想知道之后会发生什么,你需要查看你在系统上设置的任何MTA(邮件传输代理)。
如果MTA本身失败,你几乎肯定会收到一封邮件回到发送帐户,说明如此(你可以使用上面的mailx来发现这一点)。
由于您尚未指定系统,我将根据Debian提供以下建议,因为这是我习惯的。
在我的Debian框中,exim
是MTA,但默认情况下,它不支持发送到远程域。您可以通过运行:
sudo dpkg-reconfigure exim4-config
但是你需要小心不要转发电子邮件,以免你在不知不觉中成为垃圾邮件机器人。可以找到更多详细信息here。
您可能会发现,如果您希望他们去外面的世界,最好通过SMTP将它们发送到您的ISP而不是尝试在本地机上配置邮件来执行此操作。
但是,如果您想转到mail
路线,只需按上述方式运行dpkg-reconfigure
,选择“互联网站点;使用SMTP直接发送和接收邮件”作为第一个问题的答案,然后接受所有其他问题的默认值(检查以确保您只接受来自您的本地地址127.0.0.1
和::1
的邮件)。
然后等待exim
重新启动并尝试再次发送邮件。
请注意,exim
通常会按计划启动队列运行程序(实际发送电子邮件的进程)(对我来说是30分钟),因此邮件可能需要一段时间才能完成。
您可以检查/var/log/exim4
中的文件,看看发生了什么(例如,在我的情况下,我的ISP拒绝了该尝试,因为它对pax@paxbox.com
一无所知,但您可以找到一个开放的在某个地方进行SMTP中继或将您的发送详细信息欺骗到您的ISP允许的内容。