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

本章三部分,一是基于虚拟机下的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({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券