Linux使用shell脚本调用sendmail发送带附件的邮件
2016-01-15 14:31
711 查看
带附件功能
环境:Linux(CentOS6.5)sendmail发送带附件的邮件,需要用uuencode命令,这个命令在sharutils组件中。yum install sharutils安装。
用法:uuencode 附件文件 附件在邮件中显示的名字
shell脚本
#!/bin/sh # shell send email # mail_receiver.cc中每行都是一个接收者邮箱的地址; # # email_content所指的文件内容作为邮件的内容; # # attachment所指的文件作为邮件的附件; # # from:发件人地址 # to:收件人地址 # cc:抄送人地址 # # uuencode 附件文件 附件文件别名(在邮箱中显示的文件名) # # Linux中程序生成的文件默认为utf-8编码,在windows中使用excel打开.csv文件时,默认编码是gb2312,所以直接写文件会导致汉字显示乱码。 # 解决方法:Linux程序写入附件文件前,将汉字转化成gb2312编码(使用),再写入即可。 # cat /var/mail_receiver.cc | while read line do from_name="test系统服务" from="1122334@163.com" to=$line cc_name="数据中心" cc="AAA@test.com" email_title="数据异常预警" email_content="/var/detail_status.log" email_subject="系统数据异常预警" attachment="/var/detail.csv" (echo -e "To: \"${email_title}\" <${to}>\nCc: \"${cc_name}\" <${cc}>\nFrom: \"${from_name}\" <${from}>\nSubject: ${email_subject}\n\n`cat ${email_content}`";uuencode ${attachment} detail_info.csv) | /usr/sbin/sendmail -t done也可以通过更改sendmail配置实现群发功能,需要统一重命名收件人地址。小编较懒,就简单的循环发送了。
相关文章推荐
- Linux socket 初步
- android wifi 无线调试
- Linux Kernel 4.0 RC5 发布!
- 垃圾邮件过滤器 python简单实现
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Ubuntu Linux使用体验