首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Linux命令行将文件作为电子邮件附件发送?

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

Stack Overflow用户
提问于 2008-08-20 02:48:50
回答 25查看 707.1K关注 0票数 299

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

代码语言:javascript
复制
$ cat mysqldbbackup.sql | mailx backup@email.com

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

虽然这完成了我所需要的,但我认为它可以更好,有任何方法,使用外壳脚本或其他方式,发送压缩的.tar文件到一个传出的电子邮件消息作为 shell这将比必须处理包含标题数据的非常长的电子邮件消息,并经常有换行问题等。

EN

回答 25

Stack Overflow用户

回答已采纳

发布于 2012-03-02 05:26:22

没有一条狗对我管用。它认为电子邮件地址是附件的一部分。不得不做的事情:

代码语言:javascript
复制
echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
票数 304
EN

Stack Overflow用户

发布于 2008-08-20 04:48:25

或者,失败的杂种狗:

代码语言:javascript
复制
gzip -c mysqldbbackup.sql | uuencode mysqldbbackup.sql.gz  | mail -s "MySQL DB" backup@email.com
票数 79
EN

Stack Overflow用户

发布于 2008-08-20 03:36:24

根据您的linux版本,它可能被称为mail。引用上面的@David:

代码语言:javascript
复制
mail -s "Backup" -a mysqldbbackup.sql backup@email.com < message.txt

或者也可以:

代码语言:javascript
复制
cat message.txt | mail -s "Backup" -a mysqldbbackup.sql backup@email.com 
票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档