如何在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文件用于别名,允许多个虚拟域托管在一台计算机上。

  1. 所有@example.com的电子邮件投递到Hyman@theitroad
@example.com Hyman@theitroad

  1. 所有电子邮件地址Hyman@theitroad将转发给本地用户Hyman。
Hyman@theitroad  Hyman

  1. 所有@mydomain.com的电子邮件地址将转发到域@otherdomain.com以及相应的用户名。
@mydomain.com    %Hyman@theitroad

  1. 所有电子邮件地址@otherdomain.com网站将被拒绝我的邮件服务器,并用邮件确认发件人
@otherdomain.com 	 error:nouser User unknown

在virtusertable中进行所有更改后,执行以下命令创建更新的virtusertable.db软件包含新配置的文件。

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

最后,重新启动Sendmail服务使更改生效

sudo systemctl restart sendmail