2013-08-12 30 views
0

我使用梨用下面的代碼來發送電子郵件,在第一時間通過每次我得到這個錯誤:PHP:PEAR電子郵件發送僅在第二次

「無法設置發件人:AA @ bb.com [SMTP:無效的響應代碼從服務器接收 (代碼:-1,響應:)]」

如果我調試和發送後設定的執行點回‘從這裏重新運行’ ,它工作得很好 - 幾乎就像第一次沒有正確初始化的東西 - 任何人有任何想法呢?

require_once "Mail.php"; 

function SendEMail() { 

    $from = "Sender Sender <[email protected]>"; 
    $to = "AA BB <[email protected]>"; 
    $subject = "Test"; 
    $body = "This is a test"; 

    $host = "myhost"; 

    $headers = array ('From' => $from, 
         'To' => $to, 
         'Subject' => $subject); 

    //Re-run from here   
    $smtp =& Mail::factory('smtp', 
     array ('host' => $host, 
     'auth' => false, 
     'username' => '', 
     'password' => '')); 

    $mail = $smtp->send($to, $headers, $body); 

    if (PEAR::isError($mail)) { 
     $s = $mail->getMessage(); 
    } 
} 
+0

假設這是一個循環?給更多的代碼,我們可以看看... – We0

+0

我已經簡化了我的代碼並編輯了這篇文章 - 仍然得到了上面代碼的問題。 –

+0

沒有循環,一次電話 –

回答

0

使用wireshark找出您真正從服務器獲得的響應。也許服務器啓動了灰名單,這樣你就不能第一次發送郵件了。

+0

沒有任何這樣的事情,因爲我正在運行一個個人測試的smpt,它可以很好的使用php的內置smtp,但只是表現得很怪,梨的版本 –

+0

所以你說你可以不使用wireshark來分析網絡流量,因爲究竟是什麼? – cweiske

+0

我沒有說我不能使用wireshark,只是不能有任何灰名單或類似的問題。我只能假設這是梨庫和我的smtp之間的一些奇怪的不兼容性,因爲它與例如。谷歌罰款。 –