apache sendmail:试图将用户“从”地址从apache更改为域帐户

我很抱歉,如果我问一个问题已经回答,但我的问题不是真的,我还没有find答案。 事实上,我已经为我的问题find了六种不同的“解决scheme”,并且尝试了所有这些方法,并且一直不成功。

目标

我所要做的就是将发自[email protected]所有电子邮件的“发件人”地址更改[email protected]


我已经做了

我在CentOS 5.5, linux@localhost.localdomain上运行Apache,PHP和sendmail。 我们有一个192.168.0.4的SMTP服务器。 该域的电子邮件帐户都在@ domain.org

我已经在sendmail.mc文件中使用这一行成功地设置了“智能主机”:

define(`SMART_HOST', `192.168.0.4')dnl 

然后我伪装起来,希望能解决这个问题。 我在.mc文件中有这个:

 FEATURE(`masquerade_entire_domain')dnl FEATURE(`masquerade_envelope')dnl FEATURE(`allmasquerade')dnl MASQUERADE_AS(`domain.org')dnl MASQUERADE_DOMAIN(`domain.org.')dnl MASQUERADE_DOMAIN(`localhost.localdomain.')dnl 

这将重写“到”地址,但不是“从”地址。 从命令行testing:

 sendmail -v [email protected] 

总是显示从本地用户(在这种情况下, ,或我的本地用户帐户)。

我读过“sendmail”命令有时会绕过伪装。 尽pipe如此,使用“邮件”命令也有相同的结果。

之后,我探索了几个“解决scheme”,其中包括:

  • 的mailertable
  • 的virtusertable
  • FEATURE(`accept_unresolvable_domains')DNL
  • LOCAL_DOMAIN(`称作localhost.localdomain')DNL
  • FEATURE(`genericstable')DNL
  • / etc / mail / access文件
  • / etc / mail / local-host-names文件
  • / etc / mail / trusted-users文件

一切都没有影响。


我试过的最后一件事

所以,我决定采取不同的方向,尝试使用/etc/php.ini中的configuration或者将-f参数添加到mail()函数或PHP sendmail命令。

如果我运行这个命令:

 sendmail -v -f [email protected] [email protected] 

我在/ var / log / maillog中得到这个错误:

 Mar 30 08:56:16 localhost sendmail[24022]: p2UCuE8w024022: [email protected], size=5, class=0, nrcpts=1, msgid=<[email protected]>, relay=user@localhost Mar 30 08:56:19 localhost sendmail[24022]: p2UCuE8w024022: [email protected], [email protected] (500/502), delay=00:00:05, xdelay=00:00:03, mailer=relay, pri=30005, relay=[192.168.0.4] [192.168.0.4], dsn=5.1.1, stat=User unknown Mar 30 08:56:19 localhost sendmail[24022]: p2UCuE8w024022: p2UCuE8x024022: DSN: User unknown Mar 30 08:56:23 localhost sendmail[24022]: p2UCuE8x024022: [email protected], delay=00:00:04, xdelay=00:00:04, mailer=relay, pri=31029, relay=[192.168.0.4] [192.168.0.4], dsn=2.0.0, stat=Sent (Ok: queued as B5E2E40E0A2) 

这基本上是一个“用户未知”550错误。


帮帮我

请帮忙。 我需要改变什么? 我应该重新开始在sendmail.mc文件? 它有很多的configuration选项塞满了,在几天的尝试。 为什么要通过命令行更改信封“发件人”地址,从而生成“用户未知”错误?

我已经想通了使用-f参数。 我从头开始修改sendmail.mc,我只包含了MASQUERADE_AS属性。

原来这是我们networking防火墙的拒绝。 我在防火墙中添加了一个exception。

编辑:我解决了这个使用POSTFIX。 忘记sendmail …