使用php邮件向多封电子邮件发送消息

时间:2015-11-20 11:47:29

标签: php

我在MYSQL中有一张表

Mmeber_Email---------------Member_Name------Data---
mike01@yahoo.com  --------  Mike ---------- 100 ------
jacknick@gmail.com  --------Jack -----------50 ----
jillwag@hotmail.com  -------Jill ---------- 75 ------
jnash@gmail.com  --------   John ---------- 10 ------

现在,我已经设法使用PHP从数据库中提取数据。 但我不知道如何使用PHP Mail功能通过电子邮件发送每个成员的数据。 我应该如何解决使用下面的PHP邮件功能向多个收件人发送电子邮件的问题,即Mike应该收到包含邮件100,Jack 5等的电子邮件..

<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = //data extracted from database using a common query comes here
$headers = "From: webmaster@example.com";

mail($to,$subject,$txt,$headers);
?>

2 个答案:

答案 0 :(得分:2)

您需要遍历从MySQL返回的结果。这是一个例子:

while($row = mysqli_fetch_array($results)) { // start loop

    $to       = $row['member_email']; 
    $subject  = 'the subject'; 
    $message  = "Dear ". $row['member_name'] . "\r\n";
    $message .= "Here is your data: " . $row['member_data'] . "\r\n";
    $headers = 'From: webmaster@example.com' . "\r\n" .
       'Reply-To: webmaster@example.com' . "\r\n" .
       'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

数据库中的数据包含在$row循环的while{}数组设置中。

请务必注意docs

中邮件的详细信息

答案 1 :(得分:-1)

$to设置为所有收件人的逗号分隔列表:

$to = "somebody1@example.com, somebody2@example.com, somebody3@example.com";