记录下centos通过sendmail发送邮件的配置过程。
一、安装sendmail与mail
1、安装sendmail:
1) centos下可以安装命令:yum -y install sendmail
2) 安装完后启动sendmail命令:service sendmail start
2、安装mail
安装命令:yum install -y mailx
3. 配置工具sendmail-cf
yum install -y sendmail-cf
验证下进程:
rpm -qa | grep mailx
rpm -qa | grep sendmail
vi /etc/mail/sendmail.mc
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务。如果仅让某一个网段能够访问到Sendmail服务,将127.0.0.1改为形如192.168.1.0/24的一个特定网段地址。
生成Sendmail配置文件:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重启sendmail:
service sendmail restart
# 使用带附件的功能,则还需要安装sharutils
yum install sharutils -y
二、发送邮件
1、通过文件内容发送
发送命令:mail -s 'mail test' xxx@yyy.com < con.txt ("mail test"为邮件主题,xxx@yyy.com为收件人邮箱,con.txt保存邮件内容)
2、通过管道符直接发送
发送命令:echo "this is my test mail" | mail -s 'mail test' xxx@yyy.com
三、设置发件人信息
上述发送邮件默认会使用linux当前登录用户信,通常会被当成垃圾邮件,指定发件人邮箱信息命令
vim /etc/mail.rc
set from=13850000249@qq.com smtp=smtp.qq.com
set smtp-auth-user=13850000249@qq.com smtp-auth-password=wodptbpkwuwobhjj smtp-auth=login
-注意配置中的smtp-auth-password不是邮箱登录密码,是邮箱服务器开启smtp的授权码,每个邮箱开启授权码操作不同(网易126邮箱开启菜单:设置-> 客户端授权密码)。
四. 测试
echo helloWord | mail -v -s "Test Title" ihunter@vip.qq.com
# 卸载
# yum remove sendmail
linux中sendmail服务停bai止服务:
# /etc/init.d/sendmail stop
linux中sendmail服务取du消自动启动:
# chkconfig --levels 345 off sendmail