CakePHP:向多个地址发送电子邮件

Posted

技术标签:

【中文标题】CakePHP:向多个地址发送电子邮件【英文标题】:CakePHP : Send email to multiple addresses 【发布时间】:2014-06-15 18:36:00 【问题描述】:

我想通过 CakeEmail 向多个地址(在我的网站上注册的人的电子邮件地址)发送一封电子邮件。

这是我使用的代码:

public function send($d)
    $this->set($d);
    if($this->validates())
        App::uses('CakeEmail','Network/Email');

        $users = $this->User->find('all');

        $this->set($tests);
        foreach($users as $user)
        
            $tests .= '"'.$user['User']['email'].'",';
        

        $mail = new CakeEmail();
        $mail
            ->to(array($tests)) 
            ->from(array('test2@test.fr' => 'Hello'))
            ->subject('ALERTE')
            ->emailFormat('html')
            ->template('ouverture')->viewVars($d);
            return $mail->send();

        

    else
        return false;
    

    

这是我的错误:

Invalid email : ""test@test.com","test@test.fr","

【问题讨论】:

您从哪些文档中得知可以用逗号分隔电子邮件?我看到选项是an array,将不同的电子邮件作为新的数组值,你试过吗? 无需将解决方案编辑到您的问题中 - 这些已经在答案中可见。 谢谢,第一次抱歉 【参考方案1】:

试试

$tests = array();
foreach($users as $user)

    $tests[] = $user['User']['email'];


$mail = new CakeEmail();
$mail->to($tests) 
     ->from(array('test2@test.fr' => 'Hello'))
     ->subject('ALERTE')
     ->emailFormat('html')
     ->send('Your message here');

【讨论】:

【参考方案2】:

试试

$mail = new CakeEmail();

foreach($users as $user) 
    $mail->addTo($user['User']['email']);


$mail->from(array('test2@test.fr' => 'Hello'))
     ->subject('ALERTE')
     ->emailFormat('html')
     ->template('ouverture')->viewVars($d);
return $mail->send();

【讨论】:

以上是关于CakePHP:向多个地址发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 System.Net.Mail 向多个地址发送电子邮件

如何使用存储在 Excel 中的地址向多个收件人发送电子邮件?

PHP表单向多个收件人发送电子邮件

如何使用此脚本向多个人发送电子邮件而不在 to 字段中显示所有电子邮件?

保存后在 CakePHP 中发送电子邮件

在DataTable中向多个收件人发送电子邮件