我一直在嘗試使用運行Postfix的Web服務器的Office365 SMTP中繼。我需要能夠將郵件從我的Office365域發送到域中的其他地址,所以我不認爲端口25匿名SMTP將工作。Postfix sendmail從CL工作,但不是從PHP使用Office365
如果我運行
echo "testing" | sendmail [email protected] [email protected]
然後消息經過(條件是用戶在sasl_passwd列出)
但是如果我運行一個簡單的PHP腳本像這樣:
<?php
$to = "[email protected]";
$subject = "Test";
$message = "test from PHP";
$from = "[email protected]";
$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
我已經讀過,從= <>值的空值(我可以在日誌中看到)是問題的原因,但我不知道如何將其更改爲來自後綴設置的任何內容。如果命令行工作,我能正確理解postfix relay設置是否正確?有沒有其他的PHP配置我缺少的步驟?
從查看日誌文件看來,每次運行PHP腳本時都會生成兩條消息。一個地址正確,另一個空。
讓我知道你是否需要任何其他信息。提前致謝。
-Seth