Sendmail是MTA (Mail Transfer Agent) 用于从不同主机之间传送电子邮件服务器。 Sendmail使用SMTP(Simple Mail Transfer Protocol)协议。大多数系统管理员喜欢使用Sendmail的服务器。 RHEL 5或更早版本中使用的Sendmail作为默认的邮件服务器,但是新版本的RHEL的基础系统适应 postfix 为默认邮件服务器。大多数用户都熟悉Sendmail,并希望在第6版也用它。本文将帮助用户对RHEL 7/6/5中配置安装Sendmail服务器。
安装必需的软件包
如果你系统中没有Sendmail,使用下面的命令来使用yum包管理其他所需的安装包安装Sendmail 。
# yum install sendmail sendmail-cf m4
Sendmail配置服务器
在开始配置之前,必须了解各种Sendmail的配置文件,它存在于/etc/mail目录。
- access - 允许/拒绝其他系统使用Sendmail发送电子邮件。
- domaintable - 用于域名映射Sendmail。
- local-host-names - 用于定义主机别名。
- mailertable - 定义了覆盖路由针对特定域的说明。
- virtusertable - 指定别名域特定形式,允许多个虚拟域名在一台机器上托管。
2.1 在/etc/mail/sendmail.mc 文件中注释掉以下行,允许从任何地方接收电子邮件。
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
2.2 加入这一行,在sendmail.mc上面的 'MAILER' 选项
FEATURE(`relay_hosts_only')dnl
2.3 添加您的电脑的全名,在此文件中。
# hostname >> /etc/mail/relay-domains
重新编译Sendmail的配置
m4 宏处理器编译Sendmail的配置文件。 m4 是基于流的。
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重新启动sendmail服务
# /etc/init.d/sendmail restart
配置域名 E-mail 路由
当我们阅读上面用于别名使用的virtusertable文件,允许多个虚拟域在一台机器上托管。 1. 所有的邮件给 @example.com 域名的将发送到 support@mydomain.com
@example.com support@mydomain.com
2. 所有到support@mydomain.com的电子邮件转发给本地用户jack。
support@mydomain.com jack
3. 所有的电子邮件发送到@mydomain.com将转发到域名@otherdomain.com和相应的用户名。
@mydomain.com %1@otherdomain.com
4. 所有的电子邮件发送到@ otherdomain.com将被拒绝我的邮件服务器和邮件发送者确认
@otherdomain.com error:nouser User unknown
完成所有更改后在执行virtusertable,以下命令来创建一个包含新的配置更新virtusertable.db文件。
# makemap hash /etc/mail/virtusertable
现在重新启动sendmail服务
# /etc/init.d/sendmail restart
感谢您阅读这篇文章。我希望这篇文章将帮助你在CentOS和Red Hat系统中安装配置Sendmail。 参考文献:
http://www.sendmail.com/
http://www.sendmail.com/sm/open_source/docs/m4/intro_m4.html