SSMTP:如何发送带有正文和附件的电子邮件

SSMTP:如何发送带有正文和附件的电子邮件

我目前正在使用以下命令从我的 Ubuntu 服务器发送电子邮件,该命令是根据这个问题的答案改编的:https://unix.stackexchange.com/a/90881/166614

printf "subject: the subject\n\nMessage body"| (cat - && uuencode "$attach" $(basename "$attach")) | ssmtp <email>

到目前为止,我唯一的问题是上面的命令创建了两个附件,其中包括 $attach 变量指示的文件和一个文本文件,其中包含应该是消息正文的内容,其名称看似随机数字。如果我删除该(cat - && uuencode "$attach" $(basename "$attach"))命令,电子邮件将具有应有的正文,但(显然)没有附件。相反,如果我删除正文,则文本文件附件不存在。

有谁知道如何通过 SSMTP 发送包含正文和附件的电子邮件?

答案1

操作方法如下:

使用 gmail 从命令行发送带有图像附件的邮件的最简单方法?


sudo apt-get update
sudo apt-get install mpack

mpack -s "Subject line" -d body.txt attachment.png [email protected]

再简单不过了。


如果您喜欢较短的命令行,可以将主题行放入正文文件中,如下所示:

message.txt内容:

SUBJECT:  P&L Chart for board meeting this Tuesday
(blank line is required here)
Hello Mr. Jarvis,
blah, blah, blah

命令行:

mpack -d message.txt plchart.jpg [email protected]

答案2

我最终决定用它mpack来完成这个任务。虽然这并没有回答我提出的确切问题,但我认为mpack提供了一种发送电子邮件的简单方法,而无需安装具有您可能不需要的功能的电子邮件客户端。也就是说,如果有人能回答确切的问题,欢迎他们发布。

这是我现在用来从命令行发送带有正文和附件的电子邮件的命令:

attachment=/location/of/attachment
printf "Body text here." | mpack -a -s "Subject here" -d /dev/stdin -m 0 -c $(file -b --mime-type $attachment) "$attachment" <email address>

相关内容