用linux 自带的sendmail 工具来作为smtp 服务器发送邮件,如何配置?
只需要修改三句话即可:
vi /etc/mail/sendmail.mc
1.
DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1,Name=MTA')dn1 -> DAEMON_OPTIONS('Port=smtp,Addr=0.0.0.0,Name=MTA')dn1
作用:让所有的ip都能通过smtp端口使用我们的邮箱服务器了。
2.
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
-> TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
3.
dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
-> define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
作用: 去掉开头的dnl(dnl在这里是注释的意思),放行这些EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN等方式验证的邮件用户,无视access文件中的设置
用m4 重新生成一下 cf文件
cd /etc/mail
m4 sendmail.mc > sendmail.cf
**********************************************************
如果出现:sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory
说明需要安装sendmail-cf
yum install sendmail-cf
***********************************************************
搞定,重启一下 sendmail service
/etc/init.d/sendmail restart
问题汇总:
1. 配置好后在客户端总是提示说:
javax.mail.MessagingException: Could not connect to SMTP host
解决办法: 防火墙挡住了,MaCfee里面disable 邮件扫描和过滤等就可以
2. 客户端提示说:Relaying denied. IP name lookup failed [**.**.**.**]
/etc/mail/access
加入
IP地址 RELAY
重启service就可以了