如果我正确理解了电子邮件,我需要先设置 smtp 配置,然后我的客户端才能将电子邮件发送到外部域?如果是这样,我应该在 linux 的 mail/mailx 命令中的哪里进行设置?
答案1
mail/mailx 希望能够通过sendmail
命令发送邮件(这是传统的 Unix 上发送邮件的方式)。
惯例是有一个 sendmail
在标准输入上接受邮件的命令。
虽然这个惯例起源于“sendmail”邮件服务器(呵呵),但大多数其他邮件服务器都提供这样的 sendmail 命令。因此,您需要设置一个本地运行的邮件服务器,至少用于发送邮件。
有很多选择,大多数 Linux 发行版都会为您设置一个,通常是 postfix 或 Exim。请查看发行版的文档以了解详细信息。
答案2
如果您使用的是 Fedora/Redhat/Centos,则可以使用 Postfix 或 sendmail。Postfix 可能更容易配置。您还需要一个 MAA(例如 Dovecot)来检索您的来信。
答案3
您可以通过外部 smtp 服务器(可以是 gmail 或您自己的 ISP)设置 postfix 电子邮件中继。
看这里:
https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp/
和这里:
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/
之后,您可以从命令行发送电子邮件,并以 Debian 9 stretch 为例。
请注意,-e
echo 允许使用换行符,并且-r
mailx 会显示姓名以及外发电子邮件地址:
$ echo -e "testing email via yourisp.com from command line\n\nsent on: $(date)" | mailx -r "Foghorn Leghorn <[email protected]>" -s "test cli email $(date)" -- [email protected]
希望这可以帮助!