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
有关此问题和解决方案的更多详细信息