Sendmail 配置实例介绍

运维 系统运维
Sendmail 是 FreeBSD 中的默认邮件传输代理 (MTA)。 sendmail 的任务是从邮件用户代理 (MUA) 接收邮件然后根据配置文件的定义把它们送给配置好的的寄送程序。 sendmail 也能接受网络连接,并且发送邮件到本地邮箱或者发送它到其它程序。下文就演示个实例给大家看下。

Sendmail 配置实例介绍如下:

  sina.com 10.0.0.20 163.com 10.0.0.30

  MX:dns.sina.com (hostname) MX:smtp.163.com(hostname)

  邮件服务器A(MTA) 邮件服务器B(MTA)

  DNS解析系统

  邮件客户端A(MUA) 邮件客户端B(MUA)

  目标:

  1.两台邮件服务器分别属于sina.com和163.com;各集成smtp和pop3服务功能。

  2.其中sina的邮件服务器被同时配置为DNS服务器集成DNS功能并能够解析两个域的所有主机。

  3.最终两台服务器实现两个域的邮件转发,经过OUTLOOK测试成功

  4.其他附加功能在后。

  步骤:

  1.配置DNS服务。基本配置:hostname=dns.sina.com;ipaddr=10.0.0.20

  DNS服务相关文件为:

  #/etc/named.conf中添加正向、反向解析区域:

  zone "sina.com" IN {

  type master;

  file "sina.com.zone";

  allow-update { none; };

  };

  zone "163.com" IN {

  type master;

  file "163.com.zone";

  allow-update { none; };

  };

  zone "0.0.10.in-addr.arpa" IN {

  type master;

  file "sina.com.local";

  allow-update { none; };

  };

  之后区域文件sina.com.zone、163.com.zone和163.com.local内容如下:

  $TTL 86400

  $ORIGIN sina.com.

  @ 1D IN SOA dns.sina.com. root.sina.com. (

  42 ; serial (d. adams)

  3H ; refresh

  15M ; retry

  1W ; expiry

  1D ) ; minimum

  1D IN NS dns.sina.com.

  1D IN MX 5 dns.sina.com.

  dns 1D IN A 10.0.0.20

  smtp 1D IN CNAME dns

  pop3 1D IN CNAME dns

  $TTL 86400

  $ORIGIN 163.com.

  @ 1D IN SOA dns.sina.com. root.sina.com. (

  42 ; serial (d. adams)

  3H ; refresh

  15M ; retry

  1W ; expiry

  1D ) ; minimum

  1D IN NS dns.sina.com.

  1D IN MX 5 smtp.163.com.

  smtp 1D IN A 10.0.0.30

  pop3 1D IN CNAME smtp

  $TTL 86400

  @ IN SOA dns.sina.com. root.sina.com. (

  1997022700 ; Serial

  28800 ; Refresh

  14400 ; Retry

  3600000 ; Expire

  86400 ) ; Minimum

  IN NS dns.sina.com.

  20 IN PTR smtp.sina.com.

  20 IN PTR pop3.sina.com.

  30 IN PTR smtp.163.com.

  30 IN PTR pop3.163.com.

  #service sendmail restart

  解析测试。

#p#

  2.配置sina的邮件服务。

  更改/etc/mail/sendmail.mc文件,修改下列地方:

  DaemonPortsOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 更改为:

  DaemonPortsOptions=Port=smtp,Addr=yourip或者0.0.0.0, Name=MTA

  然后m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

  更改/etc/mail/accesss文件,增加:

  10 RELAY 或者

  sina.com RELAY

  163.com RELAY

  完成后makemap hash /etc/mail/access.db 进行数据库更新

  修改/etc/mail/local-hosts-name文件,增加本地域和主机的FQDN,记住只是本地主机的FQDN和域名FQDN,不要添加其他域的,否则向外域发送邮件的时候会出现user unknown的错误:

  dns.sina.com

  sina.com

  ***service sendmail restart 此时的hostname是FQDN格式的计算机名

  3. 配置163的邮件服务。(方法同上)

  4. 如果要通过在图形界面中使用客户端,则还需要修改/etc/xinetd.d/ipop3文件,修改为disable=no

  重启动超级进程/etc/rc.d/init.d/xinetd restart。

  之后的配置包括:

  a.修改/etc/access,分别使用OK、REJECT、DISCARD等字段检查是否允许relay。

  b.修改/etc/aliases文件实现邮件转发和邮件列表:

  转发:a: b 或 a: b@sina.com 或 a:b@163.com (远程)

  列表:a: b,c,d

  局部转发:直接vi 用户目录下的.forward文件,启动服务即可。(不需要修改aliases文件)

  #newaliases

  #service sendmail restart

  c.修改/etc/mail/virtuserable文件:

  转发c@sina.com d 或 c@sina.com d@163.com 均可

  与aliases文件的区别在于其中c并不存在,而d存在。

  但配置时需注意,若虚拟用户是存在于虚拟域中的,则针对虚拟域需要更改/named.conf文件,添加虚拟区域记录,同时要vi虚拟区域文件。

  并且需要修改local-host-names以及access文件。

  另外要注意,虚拟用户应采用user@FQDN格式添加进virtusertable文件,而不应该采用仅user的格式。

  d.编辑/etc/mail/userdb文件实现出站别名。

  出站别名:a:mailname b@sina.com a所发送的邮件以b@sina.com的身份出去;

  可以a的用户身份登录,telnet邮件服务器的25端口,向root发送一封信,查看root的邮件列表时会发现邮件是从b用户发出的。

  入站别名:a:maildrop b@sina.com 发给a 的邮件被转发给b。

  上面对于userdb文件的更改,不能够在冒号后面留有空格,切记!

  完成之后,更新user数据库:

  #cd /etc/mail

  #makemap btree userdb.db

  #service sendmail restart

  e.配置带有SMTP认证的Sendmail:

  RedHat默认安装的Sendmail是不具备对使用者身份进行认证的功能。这种配置容易使邮件服务器成为垃圾邮件的中转站。并且会造成管理人员对邮件进行跟踪的困难。但如果完全拒绝为可信赖区域以外的用户转发邮件会对用户造成使用上的不便。

  因此解决这个问题的方法就是配置发信的认证功能。验证模块采用cyrus-sasl安全验证库,因此在操作之前应该先检查是否安装cyrus-sasl。rpm –qa | grep cyrus。

  有关的软件包在***和第二张光盘中。

  认证的配置:修改/etc/mail/sendmail.mc中的字段,取消“TRUST_AUTH_MECH”一行和下一行“define”处的注释。(于sendmail.mc文件的第43、44和92行)然后m4 /etc/ mail/sendmail.mc>/etc/mail/sendmail.cf。

  完成后重启服务,执行命令sendmail –d0.1 –bv root | grep SASL,查看是否带有SASL字段。

  执行telnet dns.sina.com 25,然后elho localhost,看是否有认证信息

  “250-AUTH GSSAPI LOGIN PLAIN”出现。若出现则可以使用客户端进行认证测试。

  通常选择“发送服务器要求验证”即可。

通过上文的实例演示,想必大家都能看懂,真正的掌握Sendmail 配置,希望对大家有帮助!

【编辑推荐】

  1. Sendmail简单介绍
  2. 图文并茂 讲解Sendmail工作环境
  3. 深入了解 Linux下安装DNS+Sendmail服务
  4. 如何在Sendmail里设置虚拟域
  5. Sendmail 配置文件(一)
  6. Sendmail 配置文件(二)
  7. Sendmail的安全篇之未授权人非法滥用

 

 

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-01-21 15:59:21

Sendmail

2011-01-21 10:40:52

Sendmail

2010-06-03 13:44:35

Sendmail配置

2011-01-21 09:32:57

LinuxSendmail

2011-01-19 10:57:54

sendmail配置

2010-06-03 13:56:54

Sendmail 配置

2011-01-18 16:23:23

2010-06-07 10:01:26

Linux sendm

2010-06-07 10:41:25

2010-05-25 15:43:07

Sendmail配置

2011-01-21 15:27:10

Sendmail

2011-01-18 14:24:03

Linuxsendmail配置

2011-01-21 15:08:45

Sendmail

2010-06-03 13:21:46

Sendmail 配置

2011-01-19 10:48:38

sendmail配置

2010-06-02 16:31:28

Linux sendm

2010-06-07 09:47:34

php sendmai

2011-01-19 10:32:09

sendmail配置

2010-06-03 13:49:04

Sendmail 配置

2010-06-02 16:10:04

php sendmai
点赞
收藏

51CTO技术栈公众号