如何在Debian9上安装Sendmail(扩展)

时间:2019-05-19 01:26:22  来源:igfitidea点击:

Sendmail是MTA(邮件传输代理)服务器,用于在不同主机之间传输电子邮件。Sendmail使用SMTP(简单邮件传输协议)协议。大多数系统管理员宁愿使用Sendmail服务器作为MTA,而不是其他MTA。本教程在Debian9(Stretch)Linux系统上安装Sendmail。

1。安装Sendmail

如果我们没有使用以下命令安装Sendmail,请使用apt包管理器将Sendmail与其他必需的包一起安装。

sudo apt update
sudo apt install sendmail sendmail-cf m4

2。配置Sendmail服务器

现在,执行 sendmailconfig命令完成基本配置。

sudo sendmailconfig

选择“Y”的所有选项并按回车键。等待命令完成。

服务器已准备好发送电子邮件。我们可以使用Linux命令行或PHP脚本发送电子邮件。

3。接收输入电子邮件

编辑/etc/mail/sendmail.mc 文件
注释掉下面的行,以便允许从任何地方接收电子邮件。
要注释sendmail.mc文件中的某一行,需要在行首添加dnl关键字。

dnl   DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl   DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl

然后将域名添加到/etc/mail/local-host-names文件中。

cat /etc/mail/local-host-names

theitroad.com
mail.theitroad.com
localhost
localhost.localdomain

现在使用 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的电子邮件地址将转发到域@theitroad.com以及相应的用户名。
@mydomain.com    %[email protected]

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

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

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

还要确保在sendmail.mc文件中添加了下面这行。

FEATURE(`virtusertable')

编译配置文件

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

现在重新启动Sendmail服务

sudo systemctl restart sendmail