2016-05-31 2 views
0

Я создал простого почтового отправителя. Проблема заключается в [1]Шаблон шаблона Laravel с массивом

[1]: http://i.stack.imgur.com/uJHmB.png здесь. ı не удается добавить имена контактов по почте. Plase помогите мне.

Моя почта отправьте контроллер.

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 в содержимое электронной почты и повторить его синтаксис с использованием синтаксиса лезвия? – 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 Здравствуйте, Şeref вот так: –

+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 

Если нет, пожалуйста, сбросьте переменные $ campaign и $ contacts.

+0

Прошу прощения, но не работает :( –

+0

Что вы подразумеваете под : «Не работает»? Вы не получаете отображаемые сообщения электронной почты, у вас есть ошибка или ...? Вы сбросили переменные $ compaign и $ contacts? –

+0

И было бы неплохо разместить содержимое mail.blade. php здесь –

Смежные вопросы