如何在Ubuntu 18.04&16.04 LTS上安装Sendmail
时间:2019-05-19 01:26:23 来源:igfitidea点击:
Sendmail是一种通用的电子邮件路由工具,用于通过Internet传输电子邮件。它包括用于邮件传输和电子邮件传递的SMTP(简单邮件传输协议)。大多数系统管理员宁愿使用Sendmail服务器作为MTA,而不是其他MTA。我们也可以使用Sendmail服务器通过外部的SMTP服务器发送电子邮件,如Gmail、Amazon SES、MailChimp等。
1。卸载Postfix
Postfix是Ubuntu操作系统上预先安装的默认SMTP服务。并且我们愿意在系统上使用Sendmail服务器。
首先,删除Ubuntu上现有的postfix安装。
sudo systemctl stop postfix sudo apt remove postfix && apt purge postfix
2。安装Sendmail
如果尚未使用以下命令安装Sendmail,请使用yum包管理器安装Sendmail和其他必需包。
sudo apt install sendmail
3。配置Sendmail服务器
执行sendmailconfig命令以完成基本配置。
sudo sendmailconfig
选择“Y”的所有选项并按回车键。等待命令完成。
服务器已准备好发送电子邮件。我们可以使用Linux命令行或PHP脚本发送电子邮件。
4。接收输入电子邮件
编辑/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
系统已准备好接收电子邮件。
5。配置基于域的电子邮件路由
如上所述,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软件包含新配置的文件。
sudo makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
现在重新启动Sendmail服务
sudo /etc/init.d/sendmail restart