本章三部分,一是基于虚拟机下的centos7环境搭建,二是基于在阿里云购买的centos7服务器环境下搭建,第三部分是群发邮件的小demo。
一、虚拟机环境下
若在自己的linux系统中或者虚拟机环境下,发送邮件的非加密端口25是开发的,可以直接发送,配置如下:
下方完成的是每隔一分钟执行一次发邮件服务。
利用centos7自带发邮件系统
①写一个shell脚本 vi 当前目录/mail.sh
#!/bin/sh
echo '你好'|mail -s '主题' [email protected]
②设置发件人信息
vi /etc/mail.rc
末尾处加入
set bsdcompat
set smtp=smtp.163.com
set smtp-auth-password=zx123456
set smtp-auth=login
④设置定时任务
crontab -e
编辑内容为:
*/1 * * * * bash /root/mail.sh
就ok了!
二、在阿里云服务器的环境下
阿里云封闭25端口,所以不能通过默认的端口(25)发送邮箱服务,需要通过邮箱服务器的加密端口(465)来完成发送邮件的服务。配置流程如下:
① 修改 /etc/mail.rc 末尾处加入
【利用腾讯的企业邮箱发送,最后一句是证书存放位置,届时发送邮件的时候,会通过此证书,来对加密端口进行解密,此处加密端口是465】
set bsdcompat
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-password=j3jgDPkZ35HGQGnA
set smtp-auth=login
#set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/home/zx/.certs
② 然后是对.certs文件进行创建,执行如下命令行
mkdir -p /home/zx/.certs/
然后一起执行下述命令:
【一起发过去】
echo -n | openssl s_client -connect smtp.exmail.qq.com:465| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'>~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA"-t "C,,"-d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA"-t "C,,"-d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /home/zx/.certs
执行后即可发送邮件:
:
下方是警告,可以忽视,邮件收到,若想去掉下方警告,则在.certs目录下执行
qq.crt和上方命令中的一致。
大功告成!
注意事项
Windows下产生的文件粘贴到linux环境中,回车符的认定不同,可以在notepad+中设定如下:
Task.txt中
Mail.sh
Crontab -e