2012-05-04 64 views
0

PHP郵件功能似乎有問題發送電子郵件到:@ domain.edu.ag。該功能是否支持外域?PHP郵件功能和國外域名

該域名託管在Google Apps上,因此應以相同的方式收到郵件。垃圾郵件中沒有任何信息導致我進一步探索。所以我創建了一個測試腳本來發送郵件,並注意到郵件似乎沒有發送。

這是我用於測試目的:

<?php 
    $to = "[email protected],[email protected]"; 
    $subject = "Hi!"; 
    $body = "Hi,\n\nHow are you?"; 
    if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
    } else { 
    echo("<p>Message delivery failed...</p>"); 
    } 
    ?> 

結果是接收到@gmail消息,但不是@ edu.ag電子郵件地址。這裏發生了什麼?沒有錯誤或任何東西,郵件收到其他發件人罰款。

+0

不,PHP的mail()函數沒有外域問題。 Mail()只是使用系統配置的任何東西(例如sendmail),因此您最好檢查系統日誌,並且可能發送給可能阻止或拒絕測試的主機。 – j08691

+0

如果將$到字符串中的電子郵件地址交換,會發生什麼情況?到Gmail的電子郵件是否仍然發送,並且.edu.ag沒有到達?如果你只是發送到.edu.ag地址? – andrewsi

回答

0

嘗試這樣做,而不是:

$to = array("[email protected]", "[email protected]"); 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 

foreach($to as $to_addr) { 
    mail($to_addr, $subject, $body) 
} 

那麼,你是在陣列中通過電子郵件地址循環和發送郵件聲明的每一個。過去,我使用一個帶有逗號的常規字符串,遇到了一些麻煩。

+0

謝謝,但根本問題是,即使我將郵件發送到1個電子郵件地址,然後用另一個替換它,gmail被接收,但不是外部域。這不奇怪嗎? – Sean