使用mailx发送邮件
转载:http://www.cnblogs.com/softwaretesting/archive/2011/11/23/2260520.html
http://www.cnblogs.com/softwaretesting/archive/2011/11/23/2260520.html
mailx是UNIX系统上用来处理邮件的工具,使用它可以发送,读取邮件。下面看看如何使用它来发送邮件。
发送格式
mailx -s subject user@xxx.com < message_file
假设邮件内容存储于msg文件中,那么可以用如下方法:
mailx -s "test mail" zdd@163.com < msg
或者
cat msg | mailx -s "test mail" zdd@163.com
多个收件人之间用逗号分隔
cat msg | mailx -s "test mail" zdd@163.com,zdd2@163.com,zdd2@163.com
也可以直接从命令行输入邮件内容:
mailx -s "test mail" zdd@163.com
上面这条命令会进入命令行输入状态,此时可以输入内容,按Ctrl+d键来结束输入。
其他选项
-r 指定发件人
-c 指定抄送人
-b 指定密送人
多个收件人之间用逗号分隔
mail和mailx基本是一样的,用法差不多
把打印的内容作为标准输入,送给mail命令
[root@toughhou www]# echo "Hello, Tough" | mail -s "Tough's Greeting" toughhou@126.com
-s表示主题,"< mail.txt"表示把mail.txt里的内容作为邮件正文
[root@toughhou www]# mail -s "Tough's Greeting" toughhou@126.com < mail.txt
也可以用cat mail.txt的输出作为mail命令的标准输入,作为邮件正文
[root@toughhou www]#cat mail.txt | mail -s "Tough's Greeting" toughhou@126.com
-c表示抄送的地址(houxiaolongr@126.com,houxiaolongr@163.com),toughhou@126.com是直接发送的地址
[root@toughhou www]# mail -s "Tough's Greeting" -c "houxiaolongr@126.com,houxiaolongr@163.com" "toughhou@126.com" < mail.txt
测试发现,用uuencode发地附件,在邮箱里是不能正常显示的,是一些“乱码”,需要额外的解码命令,总之不太好用
[root@toughhou www]# uuencode /home/tough/pic/a.png "Tough's Photo" | mail -s "Pic Test" toughhou@126.com
在网上看到的伪造发件人地址方法(-- -f后跟发发件人地址,-F发件人名称),测试之后效果也不太理想
[root@toughhou www]# mail -s Tough toughhou@126.com < mail.txt -- -f toughhou@qq.com -F TOUGH