【发布时间】:2017-12-05 22:23:27
【问题描述】:
我正在尝试通过 swiftmailer lib 从联系表单发送电子邮件。我的设置将邮件发送给单个收件人,但是当我尝试发送给多个电子邮件时,它会引发错误:
给定邮箱中的地址 [email1@gmail.com,email2@gmail.com] 没有 遵守 RFC 2822, 3.6.2。
但是根据规范,这两封邮件都是有效的。
这里是代码;
$failed = [];
$sent = 0;
$to = [];
if (isset($_POST['recipients'])) {
$recipients = $_POST['recipients'];
}
// Send the message
foreach ((array) $recipients as $to) {
$message->setTo($to);
$sent += $mailer->send($message, $failed);
}
print_r($recipients);
printf("Sent %d messages\n", $sent);
当我在输入字段中发送一封电子邮件时,print_r($recipients) 之前给了我这个数组:(Array ( [0] => email1@gmail.com ) Sent 1 messages),但现在它没有给我数组。
我了解到 foreach 需要数组,但我没有得到数组。
有一次,我收到“收件人”未定义的错误;这就是我添加 if isset() 检查的原因。
如何单独发送每封电子邮件?
【问题讨论】:
标签: php arrays email foreach swiftmailer