我使用 Sendmail 软件包来提供电子邮件服务。Sendmail 是 权威的 邮件处理程序;事实上,它非常流行,据估计,互联网上超过 80% 的电子邮件将在发送端或接收端由它处理。它几乎可以做任何事情,我无法想象在没有它的情况下运行互联网服务器(另一个名为 Qmail 的电子邮件服务器软件包似乎也很流行 -- 但我还没有理由尝试它)。
为了跟上新功能和错误修复,最重要的是,出于安全原因,最好不时升级 Sendmail。此外,最新版本的 Sendmail 包括强大的反垃圾邮件功能,可以帮助防止您的邮件服务器被未经授权的用户滥用。
本节将讨论如果您希望使用 Sendmail 作为传入电子邮件服务器,您应该做的一些事情。这可能是服务器系统的常见情景。相反,如果您不需要将其用于传入邮件,而只想将其用作传出邮件队列,您应该 ((此处需要一些信息))。
在本节中,假设您正在使用最新版本的 Sendmail(在撰写本文时为 8.9.3),并且已安装并运行。
正如 Red Hat 发行版打包的那样,Sendmail 通常包含适当的配置信息,以便在大多数服务器设置中正确运行。尽管如此,您可能会发现有必要编辑 ``/etc/sendmail.cf'' 文件并根据需要自定义一些设置。然而,这超出了本文档的范围。
然而,我发现有件事很有帮助,那就是对配置文件进行一些更改以阻止垃圾邮件发送者。这些更改包括
O PrivacyOptions=authwarnings change to: O PrivacyOptions=authwarnings,noexpn,novrfy O SmtpGreetingMessage=$j Sendmail $v/$Z; $b change to: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=xx L=xx |
(第一个更改阻止垃圾邮件发送者使用 ``EXPN'' 和 ``VRFY'' 命令。我发现这些命令经常被不道德的人滥用。第二个更改修改了 Sendmail 在接收连接时显示的横幅。您应该将 ``xx'' 替换为 ``C=xx L=xx'' 条目,并使用您的国家和地区代码。例如,在我的情况下,我将使用 ``C=CA L=ON'' 代表加拿大安大略省。(后一个更改实际上没有任何影响,但 news.admin.net-abuse.email 新闻组的人建议将其作为法律预防措施。
接下来,如果您的邮件服务器将具有与其实际运行的机器不同的主机名,您可以在 ``/etc/sendmail.cw'' 文件中添加一个或多个别名。例如,如果您的系统名为 “kirk.mydomain.name”,它被设置为 mydomain.name 的邮件交换器,但希望以 ``user@mydomain.name'' 格式寻址的传入邮件传递到 “kirk” 上的用户,只需按如下方式添加此别名
mydomain.name |
最后,如果您需要限制域(或子域)连接到您的 sendmail 服务,您可以编辑 ``/etc/mail/access'' 并添加域信息以及限制类型。例如
some.domain REJECT hax0r.another.domain 550 Contact site administrator at (555) 555-1234. |
以上示例将拒绝来自 ``some.domain'' 站点的所有电子邮件连接,并拒绝特定的机器名 ``hax0r.another.domain'' 并显示描述性消息。
对此文件进行更改后,您需要更新 ``access.db'' 文件,然后按如下方式重启 sendmail
/usr/sbin/makemap hash /etc/mail/access.db < /etc/mail/access /etc/rc.d/init.d/sendmail restart |
提示:提示:如果您担心电子邮件滥用,您可以从 “邮件滥用预防系统” (MAPS) 项目中获得一些非常有用的信息,以处理此类滥用;请参阅 http://www.mail-abuse.org/ 上的网页
如果您使用的是 Sendmail 8.9 或更高版本,则 RBL 支持已内置,但默认情况下未启用。要启用此支持,请将以下内容添加到您的 sendmail.mc 文件中
FEATURE(rbl)然后,重新配置并重启 Sendmail 守护进程。
有关更多详细信息,包括其他邮件传输代理的配置说明,请参阅 http://www.mail-abuse.org/rbl/usage.html。
有时,某个域可能会最终出现在您希望继续与之通信的 RBL 列表中。也许与黑名单域中的某些用户进行通信对您至关重要。在这种情况下,Sendmail 允许您覆盖这些域以允许接收他们的电子邮件。只需编辑 ``/etc/mail/access'' 文件,并按照上述方式提供适当的域信息。例如
blacklisted.domain OK不要忘记重建您的 access.db 文件(如上所述)!
如果您确实决定订阅 RBL,那么最好通知您的邮件用户(如果适用),以便他们可以在不同意您的决定时做出其他服务安排。
有关 Sendmail 的更多信息,请参阅位于 http://www.sendmail.org/faq/ 的 FAQ 文档。