如何使用 unix 命令在邮件中附加多个文件?

How to attach several files in mail using unix command?

我正在执行一个脚本来备份我的 MySQL 数据库。所有过程都正常,完成后我会发送电子邮件。但是我想将该文件附加到该电子邮件中,但我不知道该怎么做。

我的命令行是:

mail -s "" -a "MIME-Version: 1.0;" -a "Content-type: text/html;" root@$domain -c ops@mydomain.com < 

其中 = My subject = my message body

谢谢!

你们很亲近。您可以使用 mail 命令发送 1 个附件,如下所示(发送前最好 TAR / 压缩您的文件):

echo "" | mail -s "" -a /path/to/file.tar.gz ops@mydomain.com

接下来,如果你想拥有更多的功能,可以使用mutt(用apt-get install mutt安装):

mutt -s "" -a /path/to/file1.tar.gz -a /path/to/file2.tar.gz -a /path/to/file3.tar.gz ops@mydomain.com < /tmp/mailbody.txt

其中:

  • file1.tar.gz到file3.tar.gz是文件附件
  • ops@mydomain.com 是收件人
  • mailbody.txt为邮件内容

或使用uuencode(使用apt-get install sharutils安装):

uuencode /path/to/file.tar.gz /path/to/file.tar.gz | mailx -s "" ops@mydomain.com

注:

  • 你必须重复 file.tar.gz 两次(阅读 uuencode documentation 了解更多信息)
  • mailxmail 的较新版本,但仍然是一个古老的命令

使用 mail 命令发送多个附件(好吧,如果你坚持的话):

$ uuencode file1.tar.gz file1.tar.gz > /tmp/out.mail
$ uuencode file2.tar.gz file3.tar.gz >> /tmp/out.mail
$ uuencode file3.tar.gz file3.tar.gz >> /tmp/out.mail
$ cat email-body.txt >> /tmp/out.mail
$ mail -s "" ops@mydomain.com < /tmp/out.mail

希望以上内容对您有所帮助。