我一直在尝试将 Office365 SMTP 中继用于运行 postfix 的 Web 服务器。我需要能够将邮件从我的 Office365 域发送到域中的其他地址,所以我认为端口 25 匿名 SMTP 不会起作用。
如果我跑
echo "testing" | sendmail -fuser@mydomain.com me@mydomain.com
然后消息通过(假设用户在 sasl_passwd 中列出)
但是,如果我运行一个简单的 PHP 脚本,例如:
<?php
$to = "me@mydomain.com";
$subject = "Test";
$message = "test from PHP";
$from = "user@mydomain.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
然后交货被退回
550 5.7.1 Client does not have permissions to send as this sender
我已经读到空的 from=<> 值(我可以在日志中看到)是问题的原因,但我不明白如何将其更改为后缀设置中的任何内容。如果命令行有效,我是否正确理解后缀中继设置是正确的?我还缺少其他一些 PHP 配置步骤吗?
通过查看日志文件,似乎每次运行 PHP 脚本时都会生成两条消息。一个具有正确的发件人地址,另一个是空的。
如果您需要任何其他信息,请告诉我。提前致谢。
-赛斯