Postfix中继通过Gmail,FROM电子邮件是错误的

我最近build立了一个家庭服务器。 而且由于我的ISP非常烦人地阻塞了传出端口25,我无法正确设置SMTP。 所以我把它设置为通过gmail进行中继(我不会通过这个服务器发送很多邮件,所以它没有问题)。

现在我有一个与contactform的Magento安装,如果我使用(使用本地SMTP),从头字段罚款与正确的名称以及正确的电子邮件地址(注意:这不是因为答复-to头字段,from字段确实指出了正确的地址)

我也创build了一些电子邮件帐户,但是我想通过thunderbird发送邮件。 当我尝试以这种方式发送邮件时,“发件人”的名称是正确的,但电子邮件地址是我用于中继的帐户。 这是我的mail.log的摘录:

Mar 20 23:11:42 homeserver postfix/smtpd[12203]: connect from xxxx[ip address] Mar 20 23:11:42 homeserver postfix/smtpd[12203]: setting up TLS connection from xxxx[ip address] Mar 20 23:11:42 homeserver postfix/smtpd[12203]: Anonymous TLS connection established from xxxx[ip address]: TLSv1 with cipher AES256-SHA (256/256 bits) Mar 20 23:11:42 homeserver postfix/smtpd[12203]: C5A4936E0228: client=xxxx[ip address], sasl_method=PLAIN, [email protected] Mar 20 23:11:42 homeserver postfix/cleanup[12206]: C5A4936E0228: message-id=<[email protected]> Mar 20 23:11:42 homeserver postfix/qmgr[11844]: C5A4936E0228: from=<[email protected]>, size=712, nrcpt=1 (queue active) Mar 20 23:11:43 homeserver postfix/smtpd[12203]: disconnect from xxxx[ip address] Mar 20 23:11:43 homeserver postfix/smtp[12207]: C5A4936E0228: to=<[email protected]>, relay=smtp.gmail.com[74.125.77.109]:587, delay=1, delays=0.18/0/0.41/0.43, dsn=2.0.0, status=sent (250 2.0.0 OK 1300659106 u45sm1482760eeh.9) Mar 20 23:11:43 homeserver postfix/qmgr[11844]: C5A4936E0228: removed 

所以当我现在login到[email protected]的时候,电子邮件地址是错误的。 这是我的家庭服务器错误的设置,或客户端可以设置?

据我所知,如果您使用Gmail的SMTP作为中继,它会将发件人地址重写为Gmail帐户。 而且,任何回复地址都会被重写到同一个Gmail帐户。 他们已经做了多年。

当我尝试将Gmail设置为Postfix中的中继主机时,我遇到了同样的情况。 我尝试过的其他中继器不会发生这种情况,所以我相信这是一个Gmail的事情。 我假设谷歌这样做是为了防止系统将邮件标记为垃圾邮件,因为原始邮件无法轻易validation。

对于个人非Gmail地址,您可以通过validation地址来configurationGmail。 请参阅: http : //mail.google.com/support/bin/answer.py?answer=22370

对于域中的所有地址,您可以将域configuration为使用Google Apps,但我没有尝试过。 不幸的是,如果您为多个域中继邮件,这将无济于事。

有关此主题的更多讨论,请参阅此问题: 通过GMail的SMTP中继覆盖“from:”地址与“[me] @ gmail.com”

Postfix有一个名为“smtp_generic_maps”的function

您可以使用创build一个通用的地图文件

 postmap /path/to/map/file 

地图文件看起来像这样

 user@localhost user@remotehost 

然后加

 smtp_generic_maps = hash:/etc/postfix/generic 

进入main.cf

来自user @ localhost的邮件现在将作为用户@远程主机使用SMTP提供