centos7(linux)系统下利用自带的mail发送邮件服务

本章三部分,一是基于虚拟机下的centos7环境搭建,二是基于在阿里云购买的centos7服务器环境下搭建,第三部分是群发邮件的小demo。

一、虚拟机环境下

 

若在自己的linux系统中或者虚拟机环境下,发送邮件的非加密端口25是开发的,可以直接发送,配置如下:

下方完成的是每隔一分钟执行一次发邮件服务。

利用centos7自带发邮件系统

①写一个shell脚本 vi 当前目录/mail.sh

#!/bin/sh

echo '你好'|mail -s '主题' [email protected]

②设置发件人信息

vi /etc/mail.rc

末尾处加入

set bsdcompat

set [email protected]

set smtp=smtp.163.com

set [email protected]

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 [email protected]

set smtp=smtps://smtp.exmail.qq.com:465

set [email protected]

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+中设定如下:

centos7(linux)系统下利用自带的mail发送邮件服务_第1张图片

Task.txt中

Mail.sh

Crontab -e

 

 

 

你可能感兴趣的:(centos7(linux)系统下利用自带的mail发送邮件服务)