Sendmail:邮件仍然被中继到root @ localhost

我正在使用两台虚拟机“ auth”(192.168.0.2)和另一台代理(192.168.0.3)运行CENTOS 6.2。 代理主机没有互联网连接。 我的意图是代理主机将其邮件发送到身份validation主机和身份validation主机从那里发送邮件。

我已经在代理中的sendmail.mc中configuration了智能主机configuration,如下所示:

define(`SMART_HOST', '192.168.0.2') 

我也在auth中build立了一个中继访问:

 CONNECT:192.168.0.3 RELAY 

但是,当我仍然尝试从代理发送邮件使用:

 mail [email protected] 

邮件没有被发送出去,日志显示如下:

 Jan 15 01:03:48 test1 sendmail[14388]: s0F8xmdl014388: from=proxy, size=244, class=0, nrcpts=1, msgid=<201401150859.s0F8xmdl014388@test1>, relay=root@localhost Jan 15 01:03:48 test1 sendmail[14388]: s0F8xmdl014388: [email protected], delay=00:04:00, mailer=esmtp, pri=30244, dsn=4.4.3, stat=queued 

它仍然通过root @ localhost中继。

我试图使用EreBusBat解释的修复程序 ,我仍然遇到同样的问题。

在您的智能主机定义中包含邮件规范,并将IP地址放在方括号内。

 define(`SMART_HOST', `relay:[192.168.0.2]') 

我试过了,仍然没有工作。

不过,我环顾四周,并寻求解决办法。 发生了什么事是'代理'的sendmail不断检查我的DNS服务器,以解决'auth'的位置,虽然它没有互联网。 因此,当它失败时,它会作为中继代理回到root @ localhost。

我需要强制代理的sendmail来查找我的/ etc / hosts文件。 要做到这一点,我做了以下事情:

在/etc/mail/submit.mc文件中:

 divert(0)dnl include(`/usr/share/sendmail-cf/m4/cf.m4') VERSIONID(`linux setup for RHEL')dnl define(`confCF_VERSION', `Submit')dnl define(`__OSTYPE__',`')dnl dirty hack to keep proto.m4 from complaining define(`confTIME_ZONE', `USE_TZ')dnl define(`confDONT_INIT_GROUPS', `True')dnl define(`confPID_FILE', `/var/run/sm-client.pid')dnl define(`SMART_HOST',`my smarthost from /etc/hosts')dnl define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`ALIAS_FILE', `/etc/aliases')dnl MASQUERADE_AS(`Your DNS domain: example.com')dnl FEATURE(masquerade_envelope)dnl FEATURE(masquerade_entire_domain)dnl FEATURE(`use_ct_file')dnl MAILER(smtp)dnl MAILER(procmail)dnl 

另外,在/ etc / mail中创build一个server.switch文件:

主机文件别名文件

致谢: http : //www.tenox.net/docs/force2smarthost.html解决scheme。

另外,感谢Andrez的快速帮助。