【问题标题】:how to send mails to multiple list of emails from a database using php如何使用php将邮件发送到数据库中的多个电子邮件列表
【发布时间】:2018-11-26 17:34:24
【问题描述】:

我正在编写脚本以使用 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); 

当我尝试将这些电子邮件传递给邮件函数 sn-p 时,邮件发送失败。

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

更新:

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

    echo implode(",",$list);

显示所有电子邮件

但没有逗号。

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

我使用相同的方法对从

获得的数据数组进行内爆

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

我的意思是我希望因为电子邮件使用 implode 得到回显,所以我希望它都能成功地将电子邮件传递给 $emailto,然后向每个人发送一封邮件。

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow :) 很高兴你包含了你的代码。您能否澄清一下:“当我尝试将这些电子邮件传递给邮件功能 sn-p 时,邮件发送失败。”这个函数是你提供的代码的最后一行吗?您能否提供堆栈跟踪、错误消息或“失败”含义的描述?
  • 您的数据库需要正确规范化
  • 嗨@MyStackRunnethOver 我已经更新了我的问题以解释失败的含义
  • @Akintunde-Rotimi 您的评论如何适合所提出的问题?
  • @chapman this sql="SELECT * FROM people WHERE status in('member','client')"; 表明您的表格未正确规范化。 status 可以在自己的表上,然后使用 id 链接它。这将有助于拥有一个完全独立的表,其中包含状态以及链接的用户。在itprotoday.com/microsoft-sql-server/… 阅读规范化。它将为您节省未来的问题。从上面的代码中,在开始编写任何应用程序之前,您需要一个适当的 PHP 教程

标签: php email


【解决方案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);
}

认为这就是你如何修改你的代码来让它做你所要求的。

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多