如何使用php将邮件从数据库发送到多个电子邮件列表

时间:2018-11-26 17:34:24

标签: php email

我正在研究使用php将邮件发送到表中的电子邮件列表中的脚本

目前我在表上运行查询,并从sql查询中回显所有满足此类要求的电子邮件

sql="SELECT * FROM people WHERE status in('member','client')"; 
$result = mysql_query($sql)or die("Cannot query orders_products data" . mysql_error()); 

while($row=mysql_fetch_array($result)) { 
    $list = array();
$list[] = $row['Email']; 

echo implode(",",$list);

$email = 'xxxxxxxxxxx'; 
$emailto = implode( "," ,$list ); 

$subject = "xxxxxxxxxxxxxxxx"; 

$headers = "From: $email";

$body .= ++$i.") ".$row['title'] ."\n\n"; 
} 
$body .= "Regards\n\n"; 

$body .= "xxxxxxxxxxxxxxxxxx\n\n";

$send = mail($emailto, $subject, $body, $headers); 

当我尝试将这些电子邮件传递到邮件功能片段时,邮件发送失败。

请问我做错了什么,我需要帮助

更新:

$list[] = $row['Email']; 

    echo implode(",",$list);

显示所有电子邮件

但没有逗号。

$emailto = implode( "," ,$list ); 

我使用与从

获得的数据数组内插的相同方法

$list[] = $row['Email'];

如果失败,我只是说我希望,因为使用内爆功能回显了电子邮件,所有这些都将成功地将电子邮件传递给$ emailto,然后将电子邮件发送给每个电子邮件。

1 个答案:

答案 0 :(得分:1)

因此,我认为您要尝试的是从表中获取用户为成员或客户的电子邮件地址。然后,您有一个发件人地址,主题和正文。此外,似乎您正在尝试向身体添加一些独特的信息。最后,我认为您想分别向每个用户发送一封电子邮件。

您可以将代码修改如下:

<?php
$sql="SELECT * FROM people WHERE status in('member','client')";
$result = mysql_query($sql) or die("Cannot query orders_products data" . mysql_error());

$emailContent = 'xxxxxxxxxxx';
$emailSubject = 'xxxxxxxxxxx';
$body = 'xxxxxxxxxxxxxxx';
$headers = "From: from@email.com";

while ($row = mysql_fetch_array($result)) {
  // optionally modify body here...?
  $emailBody = $body .= $row['title']; // or whatever you're trying to do here...

  // send email to each individual person
  mail($row['Email'], $emailSubject, $emailBody, $headers);
}

认为,这就是您修改代码以使其执行您所要执行的操作的方式。