我目前正在使用以下命令从我的 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>