你如何用sendmail发送附件?

你如何用sendmail发送附件? 我可以发送一封电子邮件,内容如下:

sendmail [email protected] < email.txt 

我不知道如何发送一个附件,我试过了:

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

这不是sendmail工作方式。 它只是处理运送邮件,并希望已经编码好的邮件。

你可以自己做这个编码,或者只是使用mail/mailx/mutt来把合适的邮件交给sendmail来发送。

你真的不应该直接调用sendmail,而是使用mailmailx ,这也将帮助你设置正确的标题等。 支持使用-a选项添加附件的现代版本。

另一种方法是对MIME(base645)编码您的附件,并将其包含在您的原始电子邮件文本正文中,并将其提交给sendmail。

你可以使用uuencode来编码附件。
大多数电子邮件客户端都可以识别uuencoded附件。

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

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