我使用以下代码通过 shell 脚本发送电子邮件。
代码:mail -s "subject" [email protected] <<< "Body of the mail"
有效。但我想在发送邮件时附加一个文件。怎么做?
答案1
如果您的 Linux 机器上安装了“mutt”,您就可以使用它。
$$ mutt -a "file_attachment"
其他选项与mail命令中的相同。
答案2
附加文件的一种可能方法是对其进行编码。例如
uuencode file_to_attach file_to_attach|mail -s "subject" [email protected]
将附加file_to_attach
到邮件中
答案3
你可以使用mime-construct
(https://linux.die.net/man/1/mime-construct) 或者makemime
(http://manpages.ubuntu.com/manpages/trusty/man1/makemime.1.html)如果这些工具之一可用。
手册页中的示例mime-contruct
:
发送纯文本部分并附加文件,自动设置文件的内容类型和--附件名称。
mime-construct --to "$recip" --subject "$file" \ --string "Here's the file I told you about.$nl" \ --file-attach "$file"
当然,也可以在脚本中手动创建所有 MIME 标头、边界和文件编码。您可以在属于(BSD 许可)HylaFAX 软件一部分的一些脚本中找到一个(相当复杂的)示例。CreateMailMessage
在源代码目录notify.sh.in
中common-functions.h.in
查找函数。 util
(看https://www.hylafax.org/,ftp://ftp.hylafax.org/source/)