使用PHP创建电子邮件列表

时间:2014-01-08 18:32:00

标签: php mysql email mysqli

我正在尝试创建电子邮件列表。我已经尝试了十几种不同的方式。我的最后一次尝试对我来说最有意义,但它似乎只发送到列表中的最后一个人,而不是其他人。我做错了什么,或者我应该采用不同的方式做到这一点?当我查看该页面时,它会发布“邮件已发送”。对于列表中的每个用户,尽管电子邮件实际上只发送给列表中的最后一个人。

<?php include '../../manage.php'; include '../../sql.php';

$sql = "SELECT email FROM users WHERE email_list=1";
$sql = mysqli_query($con,"$sql");
while($row = mysqli_fetch_assoc($sql)){

$to = $row[email];
$subject = "Quote Requested";
$message = "Testing.";
$from = "email@mydomain.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

}
?>

1 个答案:

答案 0 :(得分:0)

首先,你要修理两件事:

$to = $row[email];

应该是

$to = $row['email'];

此外,您不应该使用mysql_ *函数,因为它们已被弃用并且已经被弃用了很长时间。相反,应使用mysqliPDO_MySQL扩展名。

对于您的问题,您应该这样做:

if(mail($to,$subject,$message,$headers)) {
    echo "Mail Sent to ".$to;
} else {
    echo "Mail Failed to Send to ".$to;
}

它说&#34; Mail Sent&#34;每一次因为在发生故障时没有什么能阻止它。