1

我有以下代码使用 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')

谢谢

4

1 回答 1

8

要么setCC直接使用(文档)...

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

...或遍历您的实体集合并addCC为每个实体执行。

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

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

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

...或者,如果您只有,带有 cc 地址的 -separated 字符串,则explode该字符串可用于数组。然后循环遍历数组元素或将数组直接传递给setCC如上所示。

于 2013-08-06T11:24:58.660 回答