这更像是一个常规设置问题,我正在寻找有关从哪里开始的信息。
基本上,我使用 Google 应用托管我的域个人电子邮件,但我还需要从似乎来自同一域的托管机器发送电子邮件。托管机器永远不需要读取/获取邮件,只需发送邮件(来自各种 php 脚本)。所以基本上,我有
这是我不知道该做什么的地方:
从 PHP 服务器向我的 Google 应用用户发送电子邮件,这些用户的地址如下[电子邮件保护]总是失败并出现错误。Postfix 检测到我正在“向自己发送电子邮件”,并中止。我希望它做的是将 foo.com 视为任何其他域,并查找其 MX 记录并正常发送电子邮件。
另外,我注意到它默认将发件人地址设置为[电子邮件保护]。有什么办法可以改变这种情况吗?
如果有帮助的话,这是我的 main.cf 文件:myhostname = foo.com mydomain = foo.com
myorigin = $mydomain
relayhost =
inet_interfaces = loopback-only
local_transport = error:local delivery is disabled
谢谢
答案1
问题在于将主机名设置为域名。默认情况下,postfix 设置mydestination
为包含$myhostname
。如果您的主机名为server1.$mydomain
,则您的配置将起作用。目前,postfix 认为应该$mydomain
在本地处理邮件,但本地投递被禁用,因此它放弃了。
一般来说,主机名不应该是您的域名,而应该是您的域名的子域名。
答案2
关于您的第二个问题,可以使用 PHP mail() 函数的 additional_headers 参数设置发件人地址,请参阅http://php.net/manual/en/function.mail.php- 该页面底部的第二个示例显示了如何设置发件人地址。