如何从终端发送电子邮件?

如何从终端发送电子邮件?

我一直在尝试使用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 不是必需的,但可以让生活变得更加轻松。

答案2

您可以使用 Postfix,它是一种广泛使用的 SMTP 服务器,并且测试环境的设置也很简单。这里的Debian 文档解释一下Postfix。您还可以检查不同的配置后缀文档

相关内容