我创建了一个脚本,每天晚上在我的Linux服务器上运行,用于mysqldump将我的每个MySQL数据库备份到.sql文件,并将它们打包为一个压缩的.tar文件.我想要完成的下一步是通过电子邮件将该tar文件发送到远程电子邮件服务器以便妥善保管.我已经能够通过管道备份文本文件将正文脚本发送到正文中,mailx如下所示:
$ cat mysqldbbackup.sql | mailx backup@email.com
Run Code Online (Sandbox Code Playgroud)
cat回传备份文件的文本,该文本通过管道传输到mailx程序中,并将收件人的电子邮件地址作为参数传递.
虽然这实现了我的需要,但我认为它可能更好一步,有没有办法,使用shell脚本或其他方式将压缩的.tar文件作为附件发送到外发电子邮件? 这将不得不处理包含标题数据的非常长的电子邮件消息,并且通常会出现自动换行等问题.
有人有可用的演示吗?
据说Sendmail不可扩展,但它是免费的,所以我决定现在首先使用它:)
有没有一种方法嵌入图像转换成使用诸如Linux命令的电子邮件的正文mutt或sendmail?
我用过这个
mutt -e 'set content_type="text/image"' \
u.mohan@6dtech.co.in -s "TEST" \
-i image001.jpg < data.txt
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我正在使用mail命令从我的linux系统发送邮件.
我得到的问题是邮件的内容类型总是如此Content-Type: text/plain; charset=us-ascii.
我发送html内容,它显示为纯文本.
这就是我尝试过的
1)
body="From: me@example.org
To: me@gmail.com
Subject: MIME Test
Mime-Version: 1.0
Content-Type: text/html
<html>
<body>
This is a test.
</body>
</html>";
echo $body| mail -s "testing purpose" reciever@gmail.com
Run Code Online (Sandbox Code Playgroud)
这没用
我把这个html放在$ tempfile中名为test.html的文件中,并试图像这样执行
2)
mail -a 'MIME-Version: 1.0' -a 'Content-Type: text/html; charset=iso-8859-1' "server details" "receiver@gmail.com" < $tempfile
Run Code Online (Sandbox Code Playgroud)
但没有任何效果,请建议我这个(请只使用邮件而不是sendmail/mutt).