我正在试图弄清楚如何显示已发送的不成功电子邮件列表以及测试方法。 我可以显示已发送的电子邮件列表,但我不确定如何检索未成功发送的电子邮件列表。
以下是我用来从mysqldb中检索它的内容:
//get the email address list
$query = "SELECT email FROM users
WHERE id IN (SELECT participant_id FROM roster AS ur WHERE ur.roster_id=".$roster['roster_id'].")";
$result = mysql_query($query);
$emailstring2 = "";
$email2 = $result;
while ($row = mysql_fetch_object($email2)){
$emailstring2 .= $row->email. "\n ";
}
在消息部分,我通过以下方式检索它:
$message .="Successful emails: \n".$emailstring2." \r\n";
我将如何实现这一目标?
答案 0 :(得分:5)
一个关键字可以为您提供未发送的关键字:NOT
WHERE id NOT IN
答案 1 :(得分:0)
你不能以这样简单的方式从PHP中做到这一点。
将其视为通过邮政服务的一封信。你所能做的就是把信寄给邮递员,并希望它到达目的地。邮递员不会回来告诉您交付是否成功,或者收件人是否真正阅读了该信件。 PHP的mail()函数(及其衍生物)返回TRUE表示该邮件已被接受传递尝试,不它已成功传递。 (交付可能不会发生数小时或数天。)
因此,您可以做的最好的是近似交货通知。有几种方法可以做到这一点: