Php Zend\Mail忽略副本收件人(密件抄送或抄送)

Php Zend\Mail忽略副本收件人(密件抄送或抄送),php,zend-framework,zend-framework2,zend-framework3,zend-mail,Php,Zend Framework,Zend Framework2,Zend Framework3,Zend Mail,当尝试使用Zend\Mail向多个BCC或CC收件人发送邮件时,只有列表中的第一个收件人才会收到该电子邮件。多个普通收件人不是问题 $mail = new Mail\Message(); $mail->setBcc([ 'bcc_recipient_one@example.com', 'bcc_recipient_two@example.com', 'bcc_recipient_three@example.com', ]); 使用消息对象的setBcc或addBc

当尝试使用
Zend\Mail
向多个
BCC
CC
收件人发送邮件时,只有列表中的第一个收件人才会收到该电子邮件。多个普通收件人不是问题

$mail = new Mail\Message();
$mail->setBcc([
    'bcc_recipient_one@example.com',
    'bcc_recipient_two@example.com',
    'bcc_recipient_three@example.com',
]);

使用
消息
对象的
setBcc
addBcc
没有区别。

问题

$bcc = new \MyModule\Header\Bcc();
$bcc->getAddressList()->addMany(['bcc_one@so.com', 'bcc_two@so.com', 'bcc_three@so.com']);
$mail->getHeaders()->addHeader($bcc);
该问题属于
Zend\Mail
头生成的错误格式。它在所有
CC
BCC
收件人之间使用
换行符。如中所述,解决方法是固定折叠

例如,此代码段:

$mail = new Mail\Message();
$mail->setFrom('test@stackoverflow.com', 'Stackoverflow Tester');
$mail->addTo('email@stackoverflow.com', 'Stackoverflow  Recipient');
$mail->setSubject('Stackoverflow Test');
$mail->setBcc(['bcc_one@so.com', 'bcc_two@so.com', 'bcc_three@so.com']);
将创建这样的标题:

Date: Wed, 18 Jan 2018 19:11:36 +0100
From: Stackoverflow Tester <test@stackoverflow.com>
To: email@stackoverflow.com
Subject: Stackoverflow Test
Bcc: bcc_one@so.com,
 bcc_two@so.com,
 bcc_three@so.com
收件人现在将由新的头类传递给
消息
对象

$bcc = new \MyModule\Header\Bcc();
$bcc->getAddressList()->addMany(['bcc_one@so.com', 'bcc_two@so.com', 'bcc_three@so.com']);
$mail->getHeaders()->addHeader($bcc);
就这样,将正确生成新标题:

Date: Wed, 18 Jan 2018 19:11:36 +0100
From: Stackoverflow Tester <test@stackoverflow.com>
To: email@stackoverflow.com
Subject: Stackoverflow Test
Bcc: bcc_one@so.com, bcc_two@so.com, bcc_three@so.com
日期:2018年1月18日星期三19:11:36+0100
发件人:Stackoverflow测试器
致:email@stackoverflow.com
主题:堆栈溢出测试
密件抄送:密件抄送_one@so.com,密件抄送_two@so.com,密件抄送_three@so.com

有关此问题和解决方案的更多详细信息,请参见。

问题

该问题属于
Zend\Mail
头生成的错误格式。它在所有
CC
BCC
收件人之间使用
换行符。如中所述,解决方法是固定折叠

例如,此代码段:

$mail = new Mail\Message();
$mail->setFrom('test@stackoverflow.com', 'Stackoverflow Tester');
$mail->addTo('email@stackoverflow.com', 'Stackoverflow  Recipient');
$mail->setSubject('Stackoverflow Test');
$mail->setBcc(['bcc_one@so.com', 'bcc_two@so.com', 'bcc_three@so.com']);
将创建这样的标题:

Date: Wed, 18 Jan 2018 19:11:36 +0100
From: Stackoverflow Tester <test@stackoverflow.com>
To: email@stackoverflow.com
Subject: Stackoverflow Test
Bcc: bcc_one@so.com,
 bcc_two@so.com,
 bcc_three@so.com
收件人现在将由新的头类传递给
消息
对象

$bcc = new \MyModule\Header\Bcc();
$bcc->getAddressList()->addMany(['bcc_one@so.com', 'bcc_two@so.com', 'bcc_three@so.com']);
$mail->getHeaders()->addHeader($bcc);
就这样,将正确生成新标题:

Date: Wed, 18 Jan 2018 19:11:36 +0100
From: Stackoverflow Tester <test@stackoverflow.com>
To: email@stackoverflow.com
Subject: Stackoverflow Test
Bcc: bcc_one@so.com, bcc_two@so.com, bcc_three@so.com
日期:2018年1月18日星期三19:11:36+0100
发件人:Stackoverflow测试器
致:email@stackoverflow.com
主题:堆栈溢出测试
密件抄送:密件抄送_one@so.com,密件抄送_two@so.com,密件抄送_three@so.com
有关此问题和解决方案的更多详细信息