由于是实验,做的比较简陋,邮箱直接显示html界面,有诸多要求,本人对html不太擅长,详情可以参考http://www.ruanyifeng.com/blog/2013/06/html_email.html
linux向qq发送邮件参考另一篇博客:
https://blog.csdn.net/qq_24363849/article/details/89214348
成功后界面如下:
1.linux向qq邮箱发送邮件有两种方式(我所了解的)
发送普通文本的例子不再赘述
mail # mail参数详解见http://linux.51yip.com/search/mailx sendmail
1) 通过mail命令发送html文件,如下示例:
[root@hadoop001 data]# mail -s "$(echo -e "subject\nContent-Type: text/html; charset=utf-8")" receiver@xxx.com < mail.html#mail.html内容如下[root@hadoop001 data]# vi mail.html<table border="1">
<tr><td>MYSQL-count</td><td>HBase-count</td>
</tr>
<tr><td bgcolor=#FFE1FF>5000</td><td bgcolor=#FFE1FF>5000</td>
</tr>
但该种方法我在网上查了很多资料也没成功,发送至qq邮箱后,显示如下:
如果有成功的老哥,希望可以交流交流,感谢!
2) 通过sendmail命令发送html文件,如下示例:
在使用sendmail以前先检查sendmail服务是否开启
如果没有sendmail可以先yum intall sendmail
[root@hadoop001 data]# service sendmail start[root@hadoop001 data]# service sendmail statussendmail (pid 9635) is running...sm-client (pid 9659) is running...查看mail.html文件[root@hadoop001 data]# vi mail.html From: sender<645491470@qq.com> #可以自定义senderTo: receiver<645491470@qq.com> Subject: subjectContent-Type: text/html;charset=utf-8<html><body><table border="1"><tr><td>MYSQL-count</td><td>HBase-count</td></tr><tr><td bgcolor=#FFE1FF>5000</td><td bgcolor=#FFE1FF>5000</td></tr></table></body></html>
使用sendmail发送mail/html文件
[root@hadoop001 data]# cat mail.html | sendmail -t
执行该命令时遇到的问题:
执行完该条命令后,我检查我的qq邮箱,并没有看到邮件。
查询资料以后,得知,检测邮件有没有发送成功,如果用mailq命令检测邮件发送Queue为0,说明邮件已经被正常发送了。mailq命令是去查看/var/spool/mqueue文件夹下的文件,我到该目录下查看以后:
[root@hadoop001 data]# ll /var/spool/mqueue总用量 0You have new mail in /var/spool/mail/hadoop
我对You have new mail in /var/spool/mail/hadoop该句有点费解,感觉像是转发到了本地?查看该文件后,核心报错信息如下:
----- The following addresses had permanent fatal errors -----(reason: 550 Mail content denied [MwwmKwOxLzdYl4jvx6/iXaRUk3pcEJu8u928isFNj2+I0+TI806F1L4= IP: 58.38.4.200]. http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726
进入http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726后,显示如下:
解决该问题,只需在qq邮箱白名单中加入发送邮件的地址即可,如下操作:
之前的邮件我在如下地方找到了:
最后查看邮件,成功。
中途遇到的坑以及问题:
1.关闭postfix是未关闭成功,service postfix status查询时报错:-b dead but pid file exist,查询资料后,我的问题貌似是25端口已经被占用,主要原因是sendmail服务在开启状态,关闭sendmail服务后,postfix服务正常开启
2.另一个问题便是html文本使用mail命令发送在qq邮箱中不能正常显示,该问题查阅资料后暂时还没办法解决,但sendmail发送html可以正常显示。如果有老哥解决过该问题,希望可以交流交流,感谢!