多封CC电子邮件表示电子邮件不符合RFC 2822,3.6.2

时间:2016-06-01 03:57:46

标签: php laravel

我创建了一个简单的CC脚本,它将从数据库附加到Mail :: send。但是,之前的代码已成功提交并正常工作,直到本周末晚些时候,它再次返回此消息以及Laravel错误。

  

Swift_RfcComplianceException

     

邮箱中的地址[email1 @ domain.com,email2 @ domain.com]   不符合RFC 2822,3.6.2。

这是我从数据库中提取电子邮件的代码。这将取决于所有属性是否都有电子邮件。

if( !empty($contact) ) {
  $property_contact = implode(',', array_filter(array_unique($contact)));
}

// Output when using dd($property_contact);
// “email1@domain.com,email2@domain.com”

以下是Mail::send

的脚本
//send email to owner                
Mail::send('_dash.emails.profile', $contacts, function ($message) use ($property_contact) {                             
  $ownerEmail = "myemail@info.com";
  $ownerName = "Information";
  $recipient_name  = Request::get('firstname') .' '. Request::get('lastname');
  $recipient_email = explode(';', Input::get('email')); // Need to explode the array if value are more than one

  print_r($property_contact);

  $message->from($recipient_email[0],$recipient_name);
  $message->to($ownerEmail,$ownerName)->cc($property_contact);
  $message->subject("Profile Update");                 
});

解释

这是为用户更新其个人资料时,它会更新/通知管理员他们的新信息以及其他物业经理($ property_contact)。这些物业经理将被添加为CC,物业经理的数量将取决于该用户连接的物业数量。

如果用户有9个属性连接,每当他更新他的个人资料时,这9个属性管理员都会收到更新信息。

案件问题:

根据Laravel错误信息,它不符合从我的脚本传递的电子邮件格式。 我相信我不理解这个Laravel从我的脚本中寻找传递值的标准格式。如果我传递1个值,它工作正常。但是,每当我添加更多电子邮件时,最终都会出现此错误。

感谢您的帮助。我很感激。

1 个答案:

答案 0 :(得分:2)

cc()方法接受一个电子邮件或数组中的多个电子邮件地址 因此,只需编辑您的$property_contact变量,您就可以了:

$property_contact = array_filter(array_unique($contact));

代码:https://github.com/laravel/framework/blob/5.2/src/Illuminate/Mail/Message.php#L132。使用相同方法的所有方法,例如to()cc() bcc()replyTo()