TRi*_*RiG 8 php email swiftmailer
SwiftMailer需要一个电子邮件地址数组,其中可能包含名称作为该数组的值:
$message->setTo([
'person1@example.org',
'person2@example.net' => 'Person 2 Name',
'person3@example.org',
'person4@example.org',
'person5@example.org' => 'Person 5 Name'
]);
Run Code Online (Sandbox Code Playgroud)
但是我只有一行文本,形成一个标准的To
标题:
person1@example.org, 'Person 2 Name' <person2@example.net>, person3@example.org, person4@example.org, 'Person 5 Name' <person5@example.org>
Run Code Online (Sandbox Code Playgroud)
我可能可以一起破解一些东西,以将To
标头转换为数组,但这似乎是标准解决方案的问题,理想情况下,这是来自吸收了RFC并会接受奇怪但有效的电子邮件地址的人,包括那些包含逗号和分号。SwiftMailer本身是否具有此功能?如果是这样,我找不到。
使用 SwiftMailer 的典型 API 的好处->setTo()
是地址验证。验证后,SwiftMailer 构建相应的标头并添加它。
/**
* @var $message Swift_Message
*/
$message = $mailer->createMessage();
$message->setTo([
'person1@example.org',
'person2@example.net' => 'Person 2 Name',
'person3@example.org',
'person4@example.org',
'person5@example.org' => 'Person 5 Name'
]);
// String representation of corresponding To header
print_r((string)$message->getHeaders()->get('To'));
Run Code Online (Sandbox Code Playgroud)
其产量:
To: person1@example.org, Person 2 Name <person2@example.net>, person3@example.org, person4@example.org, Person 5 Name <person5@example.org>
Run Code Online (Sandbox Code Playgroud)
可以使用 手动设置标题$message->getHeaders()->addTextHeader()
。
// Set To text-header manually
$message
->getHeaders()
->addTextHeader(
'To',
"person1@example.org, 'Person 2 Name' <person2@example.net>, person3@example.org, person4@example.org, 'Person 5 Name' <person5@example.org>"
);
// String representation of manually set header
print_r((string)$message->getHeaders()->get('To'));
Run Code Online (Sandbox Code Playgroud)
这会产生相同的标头。然而,我个人会尝试从 Swift 的验证中受益。
归档时间: |
|
查看次数: |
127 次 |
最近记录: |