2014-07-22 50 views
0

我有一個腳本設置應該基於查詢電子郵件。該代碼是這樣的:郵件PEAR包不發送電子郵件

$firemail = mysql_query("SELECT `email` from `users` WHERE `reference` = ''$customer' "); 
$to  = $firemail; 

忽略了一個事實,這不是那麼PDO我通過$ firemail爲SMTP如下:

$headers = array (
    'From' => $from, 
    'To' => $firemail, 
    'Subject' => $subject, 
    'Reply-To' => '[email protected]', 
    'MIME-Version' => "1.0", 
    'Content-type' => "text/html; charset=iso-8859-1\r\n\r\n"); 
    $smtp = Mail::factory('smtp', array(
     'host' => 'smtp.myservice.com', 
     'port' => '123', 
     'auth' => true, 
     'username' => '[email protected]', 
     'password' => 'supersecretpassword' 
    )); 

我測試過的SMTP作品,它發送我手動輸入收件人時設計的電子郵件。 $ firemail包含的查詢是有效的,並返回預期的結果。我已經迴應了$ customer var,並返回了預期的結果。

因此,假設我的所有代碼都是有效的,並且應該如此運行。爲什麼我沒有收到電子郵件?

謝謝!

+0

你不geeting任何結果......不是,您存儲一個MySQL對象,你' $ firemail' var;) – Hackerman

+0

嘿,感謝您的快速回復。我快速瀏覽了列表,並且error_reporting(-1)不返回任何錯誤。我通過PHPMailer發送郵件,並沒有使用@來抑制任何錯誤消息。當我硬編碼時,地址是有效的,而且我正在通過Mandrill發送電子郵件(它沒有收到消息,表明問題在我的身邊),所以垃圾郵件阻止不是問題。我添加了一個條件來捕獲錯誤,並返回說消息已發送。 – MoreCoffeePls

+0

@RobertRozas - 我是個白癡!謝謝你,修正它。需要更多的咖啡! – MoreCoffeePls

回答

1

此函數返回一個mysql的對象,而不是一個結果:

$firemail = mysql_query("SELECT `email` from `users` WHERE `reference` = ''$customer' "); 
$to = $firemail; 

應該是:

$result = mysql_query("SELECT `email` from `users` WHERE `reference` = ''$customer'"); 

while ($fila = mysql_fetch_assoc($result)) { 
    $firemail[] = $fila['email'] 
} 
+0

非常感謝!我是愚蠢的^^ – MoreCoffeePls

+0

六個月後,我送我upvote –

+0

非常感謝@JohnConde ...新年快樂:) – Hackerman