centos7(linux)系统下利用自带的mail发送邮件服务
温馨提示:这篇文章已超过637天没有更新,请注意相关的内容是否还可用!
本章三部分,一是基于虚拟机下的centos7环境搭建服务器 定时发邮件,二是基于在阿里云购买的centos7服务器环境下搭建,第三部分是群发邮件的小demo。
一、虚拟机环境下
若在自己的linux系统中或者虚拟机环境下,发送邮件的非加密端口25是开发的,可以直接发送,配置如下:
下方完成的是每隔一分钟执行一次发邮件服务。
利用centos7自带发邮件系统
①写一个shell脚本 vi 当前目录/mail.sh
#!/bin/sh
echo '你好'|mail -s '主题' 573761479@qq.com
②设置发件人信息
vi /etc/mail.rc
末尾处加入
set bsdcompat
set from=15313300416@163.com
set smtp=smtp.163.com
set smtp-auth-user=15313300416@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 from=zhaoxiao@miototech.com
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=zhaoxiao@miototech.com
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
(adsbygoogle = window.adsbygoogle || []).push({});