如何使用 sendmail 发送附件?

如何使用 sendmail 发送附件?

如何使用 sendmail 发送附件?我可以发送以下内容的电子邮件:

sendmail [email protected] < email.txt 

我不知道如何发送带有附件的邮件,我尝试过:

sendmail [email protected] < email.txt -a foo.pdf

答案1

这不是它的sendmail工作原理。它只负责传输邮件,并且期望收到正确编码的邮件。

您可以自己进行编码,或者只是使用mail/mailx/mutt它来移交合适的邮件进行sendmail投递。

答案2

您可以使用uuencode来对附件进行编码。
最多电子邮件客户端可以识别 uuencoded 附件。

确保 email.txt 文件中的电子邮件标题后有一个空行。Sendmail 需要“原始”消息。

#!/bin/sh
(cat email.txt; uuencode foo.pdf foo.pdf)|/usr/sbin/sendmail -i -- [email protected] 

答案3

您实际上不应该直接调用 sendmail,而应该使用mail或,mailx这也会帮助您设置正确的标题等。这些的现代版本支持使用选项添加附件-a

另一种方法是使用 MIME(base645)对附件进行编码并将其与原始电子邮件文本正文中的正确标题一起包含在内,然后将其提交给 sendmail。

相关内容