2016-05-31 13 views
0

シンプルなメール送信者を作成しました。問題は[1]Laravel Mail Template with Array

[1]:http://i.stack.imgur.com/uJHmB.pngここにあります。 ı連絡先の名前をメールに追加することはできません。私を助けてください。

私のメール送信コントローラ。お使いのコントローラで

public function sendMail($id) { 
    $compaign = Compaign::findOrFail($id); 
    $group = Group::findOrFail($compaign->group); 
    $contacts = Contact::all()->where('group', $group->id); 

    if($contacts->count() <= 0) { 
     Session::flash('error', 'No recipients found!'); 
     return redirect()->route('compaign.index'); 
    } 

    foreach ($contacts as $contact) { 
     $data = [ 

      'compaign' => $compaign, 
      'group' => $group, 
      'contact' => $contact, 


     ]; 

     Mail::send('mail', $data, function ($message) use ($data) { 
       $message->from($data['compaign']->femail, $data['compaign']->fname); 
       $message->to($data['contact']->email, $data['contact']->name)->subject($data['compaign']->subject); 
     }); 
    } 

    Session::flash('success', 'Successfully sent the campaign'); 


    return redirect()->route('compaign.index'); 
} 

私mail.blade.php

{!$ compaign->コンテンツ!!}

+0

WYSWIGエディタのインスタンスから 'blade syntax'を電子メールの内容に渡して、ブレード構文を使って再度解析できるようにしたいという問題はありますか? – Ohgodwhy

+0

@Ohgodwhy申し訳ありませんが、私は理解できません –

+0

あなたはどんなwysiwygを使用していますか? –

答えて

0

Mail::send('mail',array('compaign' => $data), ($message) use ($data) { 
      $message->from($data['compaign']->femail, $data['compaign']->fname); 
      $message->to($data['contact']->email, $data['contact']->name)->subject($data['compaign']->subject); 
    }); 
+0

それはすでに私の問題を働いている私は連絡先のメールの名前を書くことができないだけです。例:Hello $ nameこんにちはCalinこんにちはこのような –

+0

$ message-> from('[email protected] '、' Name ')のようになりますか? – DsRaj

+0

いいえ、次のようになります:{{username}}こんにちは、これはあなたのメールアドレスです:{{email}}。私はこのように複数のメールを送信したい。 –

0

これは動作するはずです:

public function sendMail($id) 
{ 
    $compaign = Compaign::findOrFail($id); 
    $group = Group::findOrFail($compaign->group); 
    $contacts = Contact::where('group', $group->id)->get(); 

    if(! $contacts->count()) { 
     Session::flash('error', 'No recipients found!'); 
     return redirect()->route('compaign.index'); 
    } 

    $data = [ 
     'compaign' => $compaign, 
     'group' => $group, 
     'contacts' => $contacts 
    ]; 

    foreach ($contacts as $contact) {    
     Mail::send('mail', $data, function ($message) use ($compaign, $contact) { 
      $message->from($compaign->femail, $compaign->fname); 
      $message->to($contact->email, $contact->name); 
      $message->subject($compaign->subject); 
     }); 
    } 

    Session::flash('success', 'Successfully sent the campaign'); 


    return redirect()->route('compaign.index'); 
} 

ブレード内

@foreach($contacts as $contact) 
    {!! $contact->email !!} 
    {!! $compaign-fname !!} 
@endforeach 

もし$ compaignと$ contacts変数をダンプしないでください。

+0

残念ですが、働かない: –

+0

どういう意味ですか?あなたは$ compaignと$ contacts変数を投げたことがありますか? –

+0

そして、mail.bladeの内容を置くのが良いでしょう。ここにPHPがあります –