2010-07-16 152 views
1

我想使用PHP mail()函數將電子郵件發送給多個收件人。電子郵件只是提醒會員即將過期,因此電子郵件地址將來自MySql數據庫查詢。任何時候都會有2-10的任何地方。我發現下面的代碼,但它會產生錯誤。問題不在於我的查詢,因爲它會生成準確的記錄集。這是我有的代碼:希望有人可以提供幫助。順便說一句,我是一個新手,所以需要簡單直接的解釋。在此先感謝:從MySql Recordset發送電子郵件給多個收件人

<?php 

$recipients = ("SELECT email FROM tblMembers WHERE search criteria=criteria"); 
$email_list = $db->query($recipients); 
foreach($email_list as $row) { 
$to = $row['email']; 
$subject = "Membership Renewal"; 
$headers = "From: Membership Coordinator <[email protected]>\r\n"; 
$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY""\n""etc, etc, etc"; 
    if (mail($to,$subject,$headers,$message)) { 
    echo "Email was sent successfully"; 
    } else { 
    echo "Email delivery has failed!"; 
    } 
} 
?> 
+3

有什麼錯誤? – 2010-07-16 21:03:50

+1

解析錯誤:語法錯誤,85行中的/data/9/1/42/26/1205515/user/1284694/htdocs/Members/Renewals_Due.php中的意外T_IF 行85恰好是: if(mail( $ to,$ subject,$ headers,$ message)){ – Kathy 2010-07-16 22:05:33

回答

0

據我所知,那麼$頭來後$消息,所以你應該更改順序郵件(),並更加關注未來。

0

變化

$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY""\n""etc, etc, etc"; 

$message = "THIS IS AN AUTOMATED EMAIL. PLEASE DO NOT REPLY\netc, etc, etc"; 

有語法錯誤,因爲「將結束的字符串。你需要一個。來連接下一個字符串。

但你也可以讓這兩個「出現在這一點上,因爲在雙引號字符串中,PHP將用換行符替換\ n。

+0

現在我有一個新的錯誤。代碼位於for中,以重複區域的形式顯示續訂列表。在頁面根本無法打開之前。該錯誤消息出現在白頁上。現在頁面打開了,但頁面底部有一個新錯誤,說「 致命錯誤:調用/ data/9/1/42/26/1205515中的非對象的成員函數query()第79行上的/user/1284694/htdocs/Members/Renewals_Due.php 第79行是: $ email_list = $ db-> query($ recipients); – Kathy 2010-07-17 00:05:17

+0

當您調用$ db-> query ()? 然後你需要在$ db-> query()調用之前添加「global $ db;」 然後檢查你是否已經加載了$ db類 – JochenJung 2010-07-17 07:17:48

+0

好吧,我已經檢查了所有這些。在上面的代碼中,我有:foreach($ email_list as $ row) – Kathy 2010-07-17 10:13:59

相關問題