Swift_Mailter addCc用于多个电子邮件地址

时间:2013-08-06 11:19:56

标签: symfony swiftmailer

我有以下代码使用symfony2 swift_mailer发送电子邮件

$message = \Swift_Message::newInstance()
                ->setSubject('tets')
                ->setFrom(array('request@reqa.com' => 'Test Mail'))
                ->addTo('test@test.com')
                ->addCc('test@te.com')
                ->addCc('test1@test1.com')
                ->addCc('test2@test2.com')
                ->setBody($html, 'text/html');
        $this->get('mailer')->send($message);

我的问题是我从数据库加载addCc电子邮件地址,因此有没有任何方法可以通过分隔它们来添加CC电子邮件地址,就像这样                - > addCc( 'TEST2 @ test2.com,TEST4 @ test4.com')

由于

1 个答案:

答案 0 :(得分:8)

直接使用setCCdocumentation)...

$message->setCc(array(
  'person1@example.org',
  'person2@otherdomain.org' => 'Person 2 Name',
  'person3@example.org',
  'person4@example.org',
  'person5@example.org' => 'Person 5 Name'
));

...或遍历您的entites集合并为每个人执行addCC

$receipients = $this->getDoctrine()->getRepository("...")->findBy(array(".." => ".."));

foreach ($receipients as $receipient) {
   $message->addCC($receipient->getMail());
}

$this->get('mailer')->send($message);

...或者如果你只有, - 分隔的字符串,cc地址只有explode字符串到数组。然后循环遍历数组元素或将数组直接传递给setCC,如上所示。