我正在实施一个脚本来备份我的MySQL数据库。所有过程都没问题,我完成后会发送一封电子邮件。但我想在该电子邮件中附上该文件,但我不知道该怎么做。
我的命令行是:
mail -s "$1" -a "MIME-Version: 1.0;" -a "Content-type: text/html;" root@$domain -c ops@mydomain.com < $2
$1 = My subject
和$2 = my message body
谢谢!
答案 0 :(得分:1)
你非常接近。您可以使用mail
命令发送1个附件,如下所示(发送前最好对文件进行TAR / ZIP):
echo "$2" | mail -s "$1" -a /path/to/file.tar.gz ops@mydomain.com
接下来,如果您想拥有更多功能,可以使用mutt
(使用apt-get install mutt
安装):
mutt -s "$1" -a /path/to/file1.tar.gz -a /path/to/file2.tar.gz -a /path/to/file3.tar.gz ops@mydomain.com < /tmp/mailbody.txt
其中:
或使用uuencode
(与apt-get install sharutils
一起安装):
uuencode /path/to/file.tar.gz /path/to/file.tar.gz | mailx -s "$1" ops@mydomain.com
注意:
file.tar.gz
两次(阅读uuencode documentation以获取更多信息)mailx
是mail
的较新版本,但仍然是一个古老的命令使用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 "$1" ops@mydomain.com < /tmp/out.mail
希望以上有所帮助。