首页 > 技术 > 正文

#教程# centos7 服务器/云主机/VPS 安装 使用mailx发送邮件

当你需要服务器/云主机/vps定时发送邮件到自己邮箱时(例如备份、程序错误、Mysql宕机等),一个邮件服务就很重要了,以下主要是安装mailx的实现邮件发送。

当你需要服务器/云主机/vps 定时发送邮件到自己邮箱时(例如备份、程序错误、Mysql 宕机等),一个邮件服务就很重要了,以下主要是安装 mailx 的实现邮件发送。

安装

yum install mailx -y

这里使用到的配置文件只有一个,是/etc/mail.rc,通过修改配置文件/etc/mail.rc 可以使用外部 SMTP 服务器,轻松实现 linux 发邮件功能。

set from=xxxx@qq.com //qq 邮箱或者其他邮箱

set smtp=smtp.qq.com //smtp 地址

set smtp-auth-user=xxx@qq.com

set smtp-auth-password=Yunloc //注意:目前大部分的外部<a href="https://www.yunloc.com/tag/%e9%82%ae%e4%bb%b6" title="查看与 邮件 相关的文章" target="_blank">邮件</a>服务使用第三方客户端时,都需要使用授权码,上面的 smtp-auth-password 使用的就是授权码,而不是邮件帐号的密码。

如果是独立服务器的就可以使用 mailx 发送邮件了,如果是云主机/VPS 还要添加最后一行

set from="xxx@126.com"

set smtp=smtp.126.com

set smtp-auth-user=xxx

set smtp-auth-password=邮箱密码

set smtp-auth=login

配置都很简单,这里就不多说了,有两点需要注意的

1、邮箱需要开启 SMTP 功能,每个邮箱的开启方法都大同小异;

2、现在大部分邮箱使用 SMTP 会让你启动一个授权码来代替邮箱密码

具体各个邮箱开启授权码的方式可以直接百度

测试是否发送成功:

mailx -s "邮箱测试" xxxx@qq.com < message_file 测试邮件一旦成功,收件箱会马上收到邮件,如果没有收到,则等一会可以看到 shell 界面的错误提示;

上面配置的是简单的使用 25 端口的 SMTP 发送邮件的功能,一般情况下我们使用这个就足够了,这个办法 在网上也很多配置说明,这里就不再浪费时间了,下面我们讲重点,使用 TSL 发送邮件;

前面说了,阿里云把 25 端口封了,去申请解封也比较麻烦,于是就想到了用 TSL 方式,绕过 25 端口发送邮件; TSL 也就是使用 SSL 加密的方式,使用 465 或者其他端口来发送邮件,现在大部分邮箱都支持 SSL,具体 SSL 的端口 地址,也可以查百度,这里是以 126 邮箱为准,126 邮箱使用的是 465 或者 994 端口;

下面是详细的配置过程:

1、软件要求:openssl、mailx 12.0 以上;

2、既然使用的是 SSL 协议,那当然是要有证书的了,下面是获取证书的操作;

mkdir -p /root/.certs/

echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C," -d ~/.certs -i ~/.certs/qq.crt

certutil -L -d /root/.certs

若需要 qq 的 ssl 只需把第二条命令中的 smtp.xxx.com:465 给替换了就行了。

只要不报错,我们会在/root/.certs 下面看到几个证书文件,说明操作成功。

3、证书配置好了,下面我们就要来配置 mail.rc 配置文件了,和最开始的不同,这里我们就需要配置和 TSL 相关的东西了

set from=xxxooo@126.com

set smtp=smtps://smtp.126.com:465

set smtp-auth-user=xxxooo@126.com

set smtp-auth-password=你的授权码

set smtp-auth=login

set ssl-verify=ignore

set nss-config-dir=/root/.certs

其实就多了几个配置 stmp 前面加了 stmps://指定协议类型,后面加上端口号,启动 ssl 协议 ,下面指定 ssl 证书所在目录,就这样。

配置 OK 了之后,测试发送邮件,测试能收到邮件就 OK,说明发送没问题,至于具体会出现什么报错,可以根据报错的内容进行谷歌。

我这里在发送邮件的时候会提示一个证书不信任的问题,因为不影响正常发送邮件,所以选择忽略。

证书不信任的问题,需要进入存放证书的目录,执行

cd /root/.certs

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

最后邮箱开启 smtp 的方法请自行百度。

网友评论

验证码 换一张
取 消
暂无评论...
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索