簡體   English   中英

PHP通過SQL將電子郵件發送到多個地址

[英]PHP Send email to multiple address from SQL

我正在嘗試將電子郵件發送到從SQL提取的多個地址。 我想出了以下腳本,但沒有運氣。 我知道使用mail()sendmail並不是最好的選擇,如果有人可以指出我出了錯的地方,或者使用phpmailer有更好的解決方案,那將是很棒的選擇。

PS:我不想使用SMTP,因為我們正在使用的地址將不受監視。 不要回答,實際上我們根本沒有電子郵件服務。 但是服務器確實支持mail / sendmail / phpmailer,所有都經過測試。

<HTML> 
   <TITLE>Email Notification</TITLE> 
<?php

include "subscribe/mySQL.class.php"; //Connect to SQL 

if ($subject) { 
    $mailaddress = "DO-NOT-REPLY@domain.my";
    $query = "select email from subscribe"; 
    $res = mysql_query($query); 
    $row = mysql_fetch_array($res); 

    while ($row) { 

        mail($row['email'],$subject,$text."n ","From:".$mailaddress); 
        $row = mysql_fetch_array($res);

    } 

    echo "<script type='text/javascript'>"; 
    echo "parent.location.href='welcome.php'"; 
    echo "</script>";} 
?> 
<BODY> 
<P ALIGN=CENTER><FONT FACE="Arial" SIZE="7" COLOR="#FF0000">Send Notifications<BR><BR></FONT> 
<P ALIGN=LEFT><FORM NAME="email" ACTION="test.php" METHOD="POST"> 
<FONT FACE="Arial" SIZE="6" COLOR="#0000FF">Subject:<INPUT TYPE=TEXT NAME="subject" SIZE="50" MAXLENGTH="18" value=<?php echo $subject ?>><BR><BR> 
Content: <TEXTAREA NAME="text" COLS="90" ROWS="3" value="<?php echo $text?>"> </TEXTAREA><BR><BR> 
</FONT> 
<INPUT TYPE=SUBMIT VALUE=Send Email></FORM> 
</BODY> 
</HTML>

您什么也看不到,因為您沒有打印任何內容來幫助您查看電子郵件已發送。

嘗試使用: mysql_fetch_assoc()而不是mysql_fetch_array(),看看它如何為您工作。

//Sorry, but I am a fan of mysql_fetch_assoc 
//$row = mysql_fetch_array($res); 

while ($row = mysql_fetch_assoc($res)) { //Here is my main change

    if (mail($row['email'],$subject,$text."n ","From:".$mailaddress)) {
       echo '<hr>Message sent to: '.$row['email'].'<br>'; //Just to see that it was sent.
    }

    //$row = mysql_fetch_array($res); //Since I put this in the while test

} 

mail()函數返回一個布爾值,因此測試該值並打印一些內容,以便您可以知道是否成功發送了郵件。

如果這不是問題,請告訴我,這樣我可以刪除此答案或進行相應的編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM