linux os: RedHat 7
1.安装mailx:
yum install mailx2.配置/etc/mail.rc:
vi /etc/mail.rc # 省略默认设置...... ##末尾加入以下参数 set from=123456@qq.com ## 发送邮件后显示的邮件发送方 set smtp=smtp.qq.com ## smtp邮件服务器地址 set smtp-auth-user=123456 ## 发件人邮箱 set smtp-auth-password=XXXXX ## (邮箱账号的客户端授权码,需要登陆自己的邮箱进行设置,不是邮箱密码) set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/etc/pki/nssdb3.测试发送:
# 第一种 mail ##把打印的内容作为标准输入,送给mail命令 [root@test root]# echo "邮件正文" | mail -s "邮件标题" 111111@qq.com ##-s表示主题,"< mail.txt"表示把mail.txt里的内容作为邮件正文 [root@test root]# mail -s "邮件标题g" 111111@qq.com < mail.txt ##也可以用cat mail.txt的输出作为mail命令的标准输入,作为邮件正文 [root@test root]#cat mail.txt | mail -s "邮件标题" 111111@qq.com ##-c表示抄送的地址(333333@126.com,222222@163.com),111111@126.com是直接发送的地址 [root@test root]# echo "邮件正文" | mail -s "邮件标题" -c "333333@139.com,222222@qq.com" "111111@139.com" [root@test root]# mail -s "邮件标题" -c "333333@126.com,222222@163.com" "111111@qq.com" < mail.txt ##测试发现,用uuencode发地附件,在邮箱里是不能正常显示的,是一些“乱码”,需要额外的解码命令,总之不太好用 [[root@test root]# uuencode /home/tough/pic/a.png "Tough's Photo" | mail -s "Pic Test" 111111@126.com ##在网上看到的伪造发件人地址方法(-- -f后跟发发件人地址,-F发件人名称),测试之后效果也不太理想 [root@test root]# mail -s Tough 111111@126.com < mail.txt -- -f 666666@qq.com -F 666 # 第二种 mailx echo test | mailx -v -s "test" 123@qq.com < test.txt ## -v可以动态显示邮件发送状态。可以把test.txt文件的内容作为邮件内容发送 # 其它命令 ##查看发邮件的队列 mailq