CentOS sendmail安装及邮件域名配置

sendmail是Linux下优秀的邮件系统。在不作任何设定的状况下,sendmail发出邮件的邮箱源地址形如userid@localhost.localdo,这种地址几乎会被全部的邮箱认定为SPAM(垃圾邮件)或直接拒收 ……

sendmail是Linux下优秀的邮件系统。在不作任何设定的状况下,sendmail发出邮件的邮箱源地址形如userid@localhost.localdo,这种地址几乎会被全部的邮箱认定为SPAM(垃圾邮件)或直接拒收。html

一、 Sendmail安装linux

在CentOS下,sendmail通常默认是随操做系统一块儿安装的。若是安装系统时没有安装sendmail服务,手动安装sendmail也很简单:数据库

  

  
  

   
   
   
   

  
  1. # yum install -y sendmail 
  2. # yum install -y sendmail-cf 

二、 Senmail的SMTP认证配置(不须要认证的可忽略此步)服务器

首先确认saslauthd服务是否安装或启动。网络

安装saslauthd服务:# yum install -y saslauthddom

启动saslauthd服务:# service saslauthd start工具

(1) 配置Senmail的SMTP认证spa

# vi /etc/mail/sendmail.mc操作系统

  

  
  

   
   
   
   

  
  1. dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 
  2. dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 

将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,所以经过去除行首的dnl字符串能够开启相应的设置行。code

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

# vi /etc/mail/sendmail.mc

  

  
  

   
   
   
   

  
  1. DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1Name=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的配置文件:

  

  
  

   
   
   
   

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

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

四、 Sendmail邮件域名配置

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

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

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

第一步:添加域名

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

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

  

  
  

   
   
   
   

  
  1. sunchis.com 

(2) 修改submit.cf文件

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

  

  
  

   
   
   
   

  
  1. Djsunchis.com 

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

第二步:添加域名MX记录

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

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

点击放大图片

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

点击放大图片

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

  

  
  

   
   
   
   

  
  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-authoritative answer: 
  8. sunchis.com  mail exchanger = 10 mail.sunchis.com. 
  9.  
  10. Authoritative answers can be found from: 
  11. >  

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

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

出现 550 5.7.1 <xxx@163.com>... Relaying denied. IP name lookup failed [192.168.1.133] 异常时,缘由是把sendmail当作邮件中转站,须要将客户端的IP地址加入到access配置文件中。

# vi /etc/mail/access,添加

  

  
  

   
   
   
   

  
  1. Connect:192.168.1.133                   RELAY 

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

  

  
  

   
   
   
   

  
  1. # cd /etc/mail/ 
  2. # makemap hash access.db < access 

这样,问题就会获得解决。

相关文章
相关标签/搜索