如何在Fedora 32/31/30上安装Sendmail
时间:2019-05-19 01:26:23 来源:igfitidea点击:
Sendmail是一种通用的电子邮件路由工具,用于通过Internet传输电子邮件。它包括用于邮件传输和电子邮件传递的SMTP(简单邮件传输协议)。大多数系统管理员宁愿使用Sendmail服务器作为MTA,而不是其他MTA。我们也可以使用Sendmail服务器通过外部的SMTP服务器发送电子邮件,如Gmail、Amazon SES、MailChimp等。
1。安装Sendmail
如果尚未使用以下命令安装Sendmail,请使用yum包管理器安装Sendmail和其他必需包。
sudo dnf install sendmail sendmail-cf
2。在Fedora上配置Sendmail
在开始配置之前,我们必须知道/etc/mail目录中的Sendmail配置文件。
access允许/拒绝其他系统对出站电子邮件使用Sendmail。
domaintable用于Sendmail的域名映射。
local-host-names用于定义主机的别名。
mailertable定义了覆盖特定域路由的指令。
virtusertable指定一种特定于域的别名形式,允许在一台计算机上托管多个虚拟域。
2.1
在/etc/mail/sendmail.mc文件中注释下面这几行, 允许从任何地方接收电子邮件。
要注释sendmail.mc文件中的行,在行首添加 sendmail.mc
2.2
在sendmail.mc文件中同时添加“MAILER”选项
2.3
添加我们电脑的完整主机名。
hostname >> /etc/mail/relay-domains
3。重新编译配置文件
m4是一个宏处理器,用于编译Sendmail配置文件。m4是基于流的。
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重新启动Sendmail服务
sudo systemctl restart sendmail
4。配置基于域的电子邮件路由
如上所述,virtusertable文件用于别名,允许多个虚拟域托管在一台计算机上。
- 所有@example.com的电子邮件投递到Hyman@theitroad
@example.com Hyman@theitroad
- 所有电子邮件地址Hyman@theitroad将转发给本地用户Hyman。
Hyman@theitroad Hyman
- 所有@mydomain.com的电子邮件地址将转发到域@otherdomain.com以及相应的用户名。
@mydomain.com %Hyman@theitroad
- 所有电子邮件地址@otherdomain.com网站将被拒绝我的邮件服务器,并用邮件确认发件人
@otherdomain.com error:nouser User unknown
在virtusertable中进行所有更改后,执行以下命令创建更新的virtusertable.db软件包含新配置的文件。
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
最后,重新启动Sendmail服务使更改生效
sudo systemctl restart sendmail