2016-06-01 9 views
0

データベースからMail :: sendに接続する簡単なCCスクリプトを作成します。しかし、以前のコードは正常に提出して作業していました。今週末まで、Laravelエラーとともにこのメッセージに戻りました。与えられたメールボックスに電子メールがRFC 2822,3.6.2に準拠していないというCCの複数の電子メールがある

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); 
// “[email protected],[email protected]

ここでスクリプトがMail::send

//send email to owner     
Mail::send('_dash.emails.profile', $contacts, function ($message) use ($property_contact) {        
    $ownerEmail = "[email protected]"; 
    $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つの値を渡す場合、正常に動作しています。しかし、電子メールを追加するたびに、このエラーが発生しました。

ありがとうございました。それは有り難いです。

答えて

2

cc()メソッドは、1つの電子メールアドレスまたは複数の電子メールアドレスを配列として受け入れます。
だからあなたの$property_contact変数を編集して、あなたは行ってもいいです:

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

コード:https://github.com/laravel/framework/blob/5.2/src/Illuminate/Mail/Message.php#L132to(),cc()bcc(),replyTo()のようなすべての方法を同じ方法で使用します。

+0

これは今私にとって意味をなさない。ありがとうございました。あなたは私の人生を救う! – iMarkDesigns

関連する問題