一尘不染

如何使用Linux命令行将文件作为电子邮件附件发送?

linux

我创建了一个脚本,该脚本每天晚上在Linux服务器上运行,该脚本用于将每个mysqldumpMySQL数据库备份到.sql文件,并将它们打包为压缩的.tar文件。我要完成的下一步是通过电子邮件将该tar文件发送到远程电子邮件服务器以进行保管。我可以通过管道备份文本文件来向正文中的原始脚本发送电子邮件,mailx如下所示:

$ cat mysqldbbackup.sql | mailx backup@email.com

cat回显备份文件的文本,该文本将mailx通过收件人的电子邮件地址作为参数传递到程序中。

虽然可以满足我的要求,但我认为这可能会更好, 是否可以使用Shell脚本或其他方式将压缩的.tar文件作为 附件 发送到外发电子邮件中?
这样就不必处理非常长的电子邮件,其中包含标头数据并且经常出现换行问题等。


阅读 455

收藏
2020-06-02

共1个答案

一尘不染

那些笨蛋都没有为我工作。它以为电子邮件地址是附件的一部分。不得不做:

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
2020-06-02