php - 如何从数据库查询(PHP)向多个收件人发送电子邮件

标签 php email

我正在尝试向数据库中的多个电子邮件地址发送电子邮件。这是我当前的代码。它仅在我指定单个电子邮件地址时有效,但是,我需要让他们查询我的数据库并将电子邮件发送到每个电子邮件地址。我哪里出错了?

function sendmail($cat, $user) {
    require_once "Mail.php";
    $elist = mysql_query("SELECT cEmail FROM tblUsers WHERE cAlerts = 'All' AND cEAlerts = 'Yes' AND cPreferences LIKE '%$cat%';");
    $elist = mysql_fetch_array($elist);

    $from = "EMAIL ADDRESS";
    $to = $elist;
    $subject = "SUBJECT";
    $body = "BODY";

    $host = "smtp.domain.com";
    $username = "USERNAME";
    $password = "PASSWORD";

    $headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);
    $smtp = Mail::factory('smtp',
    array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

    $mail = $smtp->send($to, $headers, $body);
 }

最佳答案

尝试这样的事情,但需要注意的一点是,您应该单独发送电子邮件,而不是将所有电子邮件地址分组在一个“收件人”字段中。其他用户可能不喜欢其他人看到它。也许您的 smtp 函数分解了数组,不确定 :-|

function sendmail($cat, $user)
{ 
    require_once "Mail.php"; 
    $elist = mysql_query("SELECT cEmail FROM tblUsers WHERE cAlerts = 'All' AND cEAlerts = 'Yes' AND cPreferences LIKE '%$cat%';"); 

    $from = "EMAIL ADDRESS"; 
    $subject = "SUBJECT"; 
    $body = "BODY"; 

    $host = "smtp.domain.com"; 
    $username = "USERNAME"; 
    $password = "PASSWORD"; 

        if(mysql_num_rows($elist) > 0)
        {
            while($elist_result = mysql_fetch_array($elist))
            {
            $headers = array ('From' => $from, 
            'To' => $elist_result['cEmail'], 
            'Subject' => $subject); 
            $smtp = Mail::factory('smtp', 
            array ('host' => $host, 
            'auth' => true, 
            'username' => $username, 
            'password' => $password)); 

            $mail = $smtp->send($to, $headers, $body); 
            }
        }
 } 

关于php - 如何从数据库查询(PHP)向多个收件人发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3226138/

相关文章:

php - 将mysql准备查询结果存储在数组中

php - error_reporting() 和 ini_set ('error_reporting' 之间的区别)?

php - 如何将 VueJS 变量传递到 Laravel Blade 路由

c# - 如何检查给定的电子邮件地址是否确实存在于 C# 中?

html - 在电子邮件模板内部包含外部样式表

php - 如何使菜单和子菜单动态 Laravel

PHP 错误日志在第 1768776801 行显示警告

html - 如何避免电子邮件客户端中的剪辑

php - 如何在更新 MYSQL 数据库时向列表发送电子邮件

JavaMail - MimeMessageHelper 附件不随邮件一起发送