在防火墙后面配置sendmail
我在防火墙后面的网络上设置了一台服务器,我希望这台计算机上的程序能够使用sendmail将电子邮件发送到任何电子邮件地址。我们有一个运行在这个网络上的SMTP服务器(我们称之为mailrelay.example.com),这就是我们应该如何通过防火墙传出电子邮件。在防火墙后面配置sendmail
那么如何配置sendmail通过mailrelay.example.com发送所有邮件?谷歌搜索尚未给出答案,并且只显示sendmail配置非常复杂和烦人。
@eli:通常不建议直接修改sendmail.cf,因为它是由宏编译器生成的。
编辑/etc/mail/sendmail.mc,以包括行:
define(`SMART_HOST',`mailrelay.example.com')dnl
改变sendmail.mc宏配置文件后,必须重新编译 以产生sendmail配置文件。
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
,并重新启动sendmail服务(Linux)的:
# /etc/init.d/sendmail restart
以及设置智能主机,你可能想也禁用名称解析配置,并可能改变你的sendmail的非标准端口,或禁用守护进程模式。
禁用名称解析
服务器是防火墙保护的网络内或使用网络地址 转换(NAT)可能没有可用的DNS或NIS服务。这将创建 sendmail的一个问题,因为它会使用默认的DNS,如果它不是 可用,你会看到在MAILQ这样的消息:
host map: lookup (mydomain.com): deferred)
除非你准备设置一个适当的DNS或NIS sendmail可以使用的服务,在这种情况下,您通常会使用/ etc/hosts文件配置名称为 的分辨率。这是通过使一个 “service.switch”文件,并通过文件中指定的分辨率完成,如下:
1:启用sendmail的 编辑/etc/mail/sendmail.mc,service.switch以包括行:
define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl
2:配置文件service.switch 创建或修改/etc/mail/service.switch仅指在/ etc /的名称 解析主机:
# cat /etc/mail/service.switch
hosts files
3:Recompil e sendmail.mc并重新启动sendmail以使此设置生效。
转移到sendmail的非标准端口,或禁用daemon模式
默认情况下,sendmail的将侦听端口25,您可能希望完全更改此端口 或禁用的sendmail daemon模式因各种原因: - 如果存在禁止使用知名端口的安全策略 - 如果另一个SMTP产品/进程要在标准端口 上的同一主机上运行 - 如果您不想通过smtp接收邮件,只需使用sendmail发送
1:将sendmail转移到使用非标准端口。 编辑/etc/mail/sendmail.mc,并修改 “端口”,在线路设置:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
例如,要获得sendmail的使用端口125:
DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')
这将需要的sendmail .mc被重新编译,sendmail被重新启动。
2:可替代地,禁用sendmail守护程序模式完全(Linux)的 编辑/ etc/SYSCONFIG/sendmail和修改 “守护进程” 设置为:
DAEMON=no
这一变化将需要sendmail的重新启动。
http://www.elandsys.com/resources/sendmail/smarthost.html
Sendmail的智能主机
智能主机是通过其 传出邮件被中继的主机。某些ISP 阻止传出SMTP流量(端口25) 并要求其用户通过ISP的邮件 服务器发送出 所有邮件。 Sendmail可以配置为 使用ISP的邮件服务器作为智能 主机。
阅读指令链接的文章如何设置此。
@Espo:感谢您从何处着手的伟大建议。如果我已经将sendmail配置为首次使用,而不是采用现有配置并进行此小改动,那么您的链接会更好。然而,一旦我知道在“SmartHost”上寻找东西,我发现了一个更简单的方法。
我所要做的就是编辑我的/etc/mail/sendmail.cf文件来改变
DS
到
DSmailrelay.example.com
然后重新启动sendmail和它的工作。
谢谢!关于`service.switch`的提示解决了我的问题。 – 2011-08-09 02:41:40