CentOS6.x下配置sendmail发邮件

来源:互联网 发布:liguo矩阵怎么使用 编辑:程序博客网 时间:2024/05/17 04:06

1、安装配置sendmail软件 

yum install-y sendmail sendmail-cf m4

设置Sendmail服务的网络访问权限

vi /etc/mail/sendmail.mc
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配置文件

Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。

生成Sendmail的配置文件:

m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf  

需要重启Sendmail才能使配置文件生效。

service sendmail restart

把机器名加入到/etc/hosts中

echo "" >> /etc/hosts
echo "127.0.0.1     $HOSTNAME" >> /etc/hosts

iptables配置

iptables -A INPUT -p tcp --dport 25 -jACCEPT
iptables -A INPUT -m state --stateESTABLISHED,RELATED -j ACCEPT
service iptables save
service iptables restart

测试发邮件:

mail -s "hosts" xxxx@qq.com < /etc/hosts

 

2、 Sendmail邮件域名配置

配置sendmail使用合法的域名分两步,修改sendmail的配置文件和添加域名MX记录。

sendmail可以直接使用 “-r account@domain.com”参数来以任意源地址发送邮件,但目前主流的邮箱都会将源地址和反向解析IP进行比较,如果解析不到或是解析的IP不匹配,轻则将邮件直接归为SPAM,严重的就直接拒绝接收。

MX记录(Mail ExchangerRecord)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。

第一步:添加域名

(1) 将域名加入到local-host-names文件

# vi /etc/mail/local-host-names,添加

view plain   copy
  1. sunchis.com

(2) 修改submit.cf文件

# vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改为

view plain   copy
  1. Djsunchis.com

至此,sendmail邮件命名配置完毕,重启sendmail使配置生效。

第二步:添加域名MX记录

找到修改域名信息的页面(不同的域名注册商页面不相同),修改结果因域名商的不同最迟会在24小时内生效。

(1) 添加域名A记录mail,直接指向你的邮件服务器的静态IP地址:

点击放大图片

(2) 添加(或是修改)域名的MX记录,形如:

点击放大图片

(3) 使用nslookup检测MX记录是否能正确解析到邮件服务器

view plain   copy
  1. # nslookup

  2. > set q=mx

  3. > sunchis.com

  4. Server:       8.8.8.8

  5. Address:      8.8.8.8#53

  6.  

  7. Non-authoritativeanswer:

  8. sunchis.com  mailexchanger = 10 mail.sunchis.com.

  9.  

  10. Authoritative answers can be foundfrom:

  11. >  

OK,已经正确解析到邮件服务器所对应的域名。

3、 Relaying denied(拒绝投递)的解决

出现 550 5.7.1 ... Relaying denied. IP name lookup failed[192.168.1.133]异常时,原因是把sendmail当做邮件中转站,需要将客户端的IP地址加入到access配置文件中。

# vi /etc/mail/access,添加

view plain   copy
  1. Connect:192.168.1.133                RELAY

重新生成访问权限的数据库:

view plain   copy
  1. # cd /etc/mail/

  2. # makemap hash access.db <</SPAN> access

这样,问题就会得到解决.

 

备用的发邮件工具:mutt

0 0
原创粉丝点击