资讯

展开

Centos7 sendmail mailx 邮件发送服务配置教程

作者:快盘下载 人气:

日常运维工作中,常常遇到一些问题,每次去服务器查看相当的麻烦。最近想通过linux服务器发送一下需要经常看的日志。由于以前没有接触过邮件服务器直接上手搞。走了不少的弯路。搞了一个下午没有搞定。主要原因是对原理不太了解(最详细的原理参考早年linxucat苏老师的经典教学)。尽管配置很简单。在不同的环境下遇到的问题也不一样。小编是在两台服务器下进行测试的。所以遇到了多个问题。一个单独立IP的服务器上,一个是腾讯云服务器。把遇到的问题都罗列一下。


Centos7 sendmail  mailx  邮件发送服务配置教程


1、发送邮件都需要安装什么软件

邮件发送非常复杂,涉及到多个环节,每个环节使用不同的软件来实现。我们配置发送邮件功能其实是用到了 MUA和MTA两个环节。

mailx 实现MUA

sendmail 实现MTA

服务器默认已经安装了sendmail。mail发送邮件,默认调用的是sendmail。如果没有mailx,请自行yum 安装一下。


yum install -y mailx sendmail


Failed to start sendmail.service: Unit not found.就是没有安装sendmail


2、mailx和sendmail的区别是什么

mailx是来发邮件的。相当于邮件客户端

sendmail是来实现邮件传输的


安装好之后。直接使用mailx 命令发送邮件测试肯定是不行了。需要进行对mailx.rc 进行配置


set from="877156312@QQ.com"

set smtp=smtps://smtp.qq.com:465 # 设置邮件服务器(注意端口)QQ邮箱这样写即可    

set smtp-auth-user="877156312@qq.com"  #设置邮件用户登录账号

set smtp-auth-password="fjjzslzrdxfdfamgbgbf" #授权码

set smtp-auth=login

set ssl-verify=ignore #认证方式

set nss-config-dir=/root/.certs  #证书地址


配置好以上配置后。理论上就可以发送邮件了。再自由公网IP服务器上是没问题的。但是在腾讯服务器上是不行了。

原因是ssl问题。。


顺序执行如下命令即可生成证书:


mkdir -p /root/.certs/

echo -n | openssl s_client -connect smtp.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 /root/.certs


为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令

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


3、mailx命令发送附件

更多参数请百度。


# mailx -s "test" -a 1.txt 'mytest@ywnz.com' < 2.txt #test为标题,1.txt附 件,2.txt正文,发送给mytest@ywnz.com



4、查看分析日志

sendmail 日志目录/var/log/maillog       // 记录所有的发送日志

sendmail 定时发送

sendmail 设置每30秒处理一下邮件队列,首先邮件默认保存的目录下面是否有邮件,然后有ll命令显示邮件文件,然后在看一下邮件是否定时在发

5、查看默认定时间隔:

vim /etc/sysconfig/sendmail


6、查看发送邮件队列命令:

mailq  或  sendmail -bp



加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!