我一直在尝试使用unixmail
命令发送电子邮件,但没有取得太大成功。但我没有收到任何错误,所以我检查了我的var/mail
文件并发现了很多这样的消息:
不支持邮寄到远程域
这是有道理的,因为我还没有给它一个 SMTP 服务器,但我该怎么做呢?我通读了该man mail
页面,没有看到任何有帮助的内容,谷歌搜索将我带到了这一页这让我感到困惑并且相当无知。
是否有设置 smtp 设置的指南,该指南并不比应有的困难太多?
答案1
正如其他人所说,您需要设置一个本地邮件服务器(sendmail、postfix 或您喜欢的任何服务器)。
我的假设是,您在家里执行此操作,并且您获得的 IP 经常变化。如果是这种情况,那么您会发现发送电子邮件时出现其他问题。许多服务器会因为您的 IP 地址而简单地拒绝您(请参阅 spamhaus 或其他)。
为了解决这个问题,您需要一个中继(或者理想情况下,静态 IP* 和 DNS)。您的 ISP 可能会为您提供中继(您可能需要询问),此时您只需添加以下指令
如果您使用的是 sendmail:
define(`SMART_HOST', `smtp.your.provider')dnl
如果您使用后缀:
relayhost = smtp.your.provider
您的中继主机在哪里smtp.your.provider
(也可以是 IP)。
我两者都用;然而,我认为 postfix 应该更容易、更安全,但良好的实践才是真正重要的。在类似 Redhat 的系统(Fedora、CentOS、RHEL、Oracle 等)上,Sendmail 似乎是默认的,而其他系统则使用 Postfix。
*静态 IP 不是必需的,但可以让生活变得更加轻松。