我在尝试使用 unix mail 命令发送电子邮件时遇到问题。目前我正在尝试这个:
echo "something" | mail -s "test mail" [email protected]
但当我检查我的电子邮件时,我还没有收到它。
我如何让它发挥作用?我使用的是 Mac OS X 10.7
答案1
所以,这可能至少是一件事,也可能是两件事。
- 您需要启用邮件服务。在最新的 MacOSX 上,默认安装 postfix。您只需要运行“sudo launchctl start org.postfix.master”即可启动 postfix 服务器。这只会暂时启动您当前的会话。检查是否可以发送邮件。查看/var/log/mail.log。
- 如果邮件无法通过端口 25 发送(例如,comcast 阻止传出端口 25),则需要配置 postfix 以通过 Comcast 的 SMTP 服务或其他一些 SMTP 服务器发送邮件。
我在这里找到了一些详细记录的说明如何设置 GMail 的 SMTP 服务器并启用 MacOSX 的 postfix 服务。
答案2
1) 用于man mail
检查您的mail
程序是否支持-v
命令行选项(详细模式)。它应该提供矿石提示。
echo "something" | mail -v -s "test mail" [email protected]
2) 检查 MTA/邮件服务器生成的日志条目 (postfix/sendmail/exim/...)
答案3
确保您已在邮件守护程序配置文件中正确配置了 SMTP 设置
答案4
它不应该工作。请参考此关键字了解更多信息...邮件 SPF(https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiimbCyg9LsAhVQ3KQKHZhrAMQQFjASegQIBBAC&url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc7208&usg=AOvVaw36b__vIo50IY 24mNN1lkBM)
简而言之,您的本地邮件传输代理可能类似于[电子邮件受保护]不被任何交换(mail.google 或 mail.yahoo)服务器识别为可信且众所周知的地址。所以他们很容易阻止它。