我正在尝试使用SwiftMailer发送邮件。我的问题是我收到from
和to
地址的格式是这样的:
$from = '"first last" <email@domain.com>';
但是当我使用这个
时$message = Swift_Message::newInstance()->setFrom($from);
我收到以下错误:
Address in mailbox given ["first last" <email@domain.com>] does not comply with RFC 2822, 3.6.2
我认为这是因为Swift邮件程序除了格式
$message = Swift_Message::newInstance()->setFrom(['email@domain.com' => 'First Last']);
所以我的问题是如何转换
"first last" <email@domain.com> => ['email@domain.com' => 'First Last']
我可以使用正则表达式但是可能有很多情况,例如如果引号不存在,电子邮件是否包含尖括号等等?
最简单的方法是什么?
编辑:添加更多信息以澄清
from
和to
电子邮件是用户在数据库中保存的内容,它们有多种格式,例如"name" <email>
,name <email>
,<email>
,或有时只是email
。 我想将所有这些字符串输入规范化为可以传递给Swift_Message::newInstance()->setFrom
函数的内容