通过 Bash/命令行在 Linux 上发送邮件

通过 Bash/命令行在 Linux 上发送邮件

我目前正在尝试通过 Linux 上的 bash 脚本发送邮件。我搜索了互联网并找到了以下代码:

echo "This is my body" | mail -s"this is my header" [email protected]

无论是在 bash 脚本中还是在命令行中直接输入,我都没有收到任何响应。我至少等了 3 个小时,仍然没有收到邮件。

我刚刚发现日志显示stat=Deferred: Connection timed out with backup-mx.mcs.de.发送到我的邮件地址时,但也有一些条目和to<[email protected]>stat=Sent

答案1

您作为示例展示的命令本身是正确的,可以起作用:

echo "This is my body" | mail -s"this is my header" [email protected]

但是,您需要在尝试执行此操作的 Linux 计算机上安装某种本地 MTA(邮件传输代理),然后才能正常工作。在 Ubuntu 上,设置非常简单,只需安装后缀以及一些相关的邮件实用程序,例如:

sudo aptitude install postfix mailutils

安装完成后,您的邮件命令以及其他命令应该可以在该 Linux 服务器的命令行上运行。

答案2

你可以试试mutt根据以下命令本网站

echo "<message body>" | mutt -s "<subject>" -a "<optional attachment>" -e "my_hdr From:<from address>" -- <recipients list separated by space>

相关内容