Linux-linux命令行发送邮件带附件的方法?

前端开发 前端开发 主题:1148 回复:2395

Linux-linux命令行发送邮件带附件的方法?

清晨说ぺ晚安 发布于 2016-12-16 字数 133 浏览 1003 回复 3

每天都会对一些日志文件进行查看,想通过计划任务每天给邮箱发送一封带附件的邮件。
不知这样的命令怎么写?有经验同事分享一下。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

灵芸 2017-09-17 3 楼

这个问题偶碰到过,之前也是在网上搜索的方案,使用uudecode的方法(相信一搜一大把)。但是在使用时碰到一个很严重的问题:那就是很多的邮件客户端都读取不到这种方式发送的附件

后来改用mutt,一条命令就可以搞定,下面是我们使用的命令行:

echo "34ways.com" | mutt -s "HELL!" -a example.jpg -- somebody@domain.com

晚风撩人 2017-08-09 2 楼

一、用系统命令发送附件
用到的命令有:cat, mail, uuencode, uudecode, 用法如下所示:
uuencode a.tar.gz a.tar.gz | mail somebody@mynet.net
这条语句的作用是把二进制的文件重新编码,并发送到邮箱somebody@mynet.net中,使用mail命令时,你可以用-s命令加主题,其它参数请使用man。
这时候你的邮箱里就会有这个文件的编码了以begin开始,end结尾。复制这些内容到一个文件里,保存为name.uue。
使用uudecode命令解uuencode的编码
uudecode name.uue -o a.tar.gz ,这样就还原为原来的文件了。
二、使用软件sendemail软件发送邮件附件
这个软件为开源软件,你可以在http://caspian.dotconf.net/menu/Software/SendEmail/上获得。
sendemail要比上种方法方便的多,它直接以附件的形式发送。
以debian系统为例:
apt-get install sendemail #安装软件sendemail
具体例子如下:
sendEmail -f user@debian.netcomm -t test@debian.netcomm -u this is a test -m this is a test,hi test -s 192.168.1.128:25 -a linux内核文件.txt
其中,-f, 指明邮件来源地址,-t,指明邮件目的地址,-u,指明邮件主题,-m,指明邮件内容,-s,指明smtp服务器的地址和端口,-a,指明附件内容。

晚风撩人 2017-02-18 1 楼

用mutt 试试:
echo "hello " | mutt -a your.file -s "subject of message" ABC@domain.com