2017-05-22 5 views
0

メールを送信するためのフォームを作成しました。私はphp artisan make:mail ContactMailFullというコマンドで「ContactMailFull」という名前の電子メールファイルを作成しました。ここでLaravel 5.4メールファサードでメールを送信する方法

私のファイル

class ContactMailFull extends Mailable 

{ QUEUEABLE、SerializesModelsを使用しています。

public $name; 
public $subject; 
public $email; 
public $description; 


public function __construct(Request $request) 
{ 
    $this->name  = $request->input('name'); 
    $this->subject  = $request->input('subject'); 
    $this->email  = $request->input('email'); 
    $this->description = $request->input('description'); 
} 


public function build() 
{ 

    return $this->view('mails.sendFull') 
       ->subject($this->subject) 
       ->from('[email protected]', 'Guess') 
       ->with([ 
        'name' => $this->name, 
        'subject' => $this->subject, 
        'email' => $this->email, 
        'description' => $this->description 
       ]); 
} 

}

私は電子メールを送信しようとするが、しかし、それは正しくありません。私たちはこのようなことをしなければならないことを知っています。

Mail::to('[email protected]')New Somethingしかし、私はドキュメントを理解していません。私はどこに置かなければならないのか分かりません。

私を助けることができますか?

答えて

1

Laravel 5.3 & 5.4ありがとうはMailableの概念が導入されました。

ジョブの90%を完了しました。 Mailファサードを使って電子メールを送信するだけです。

Mail::to('[email protected]')->send(new \App\Mail\ContactMailFull($request)); 

また、明示的に変数をビューに渡す必要はありません。公開プロパティーname,subjectなどはデフォルトで表示されます。

+0

はあなたに@Mozzammilありがとうdocumentationvia Public properties下を参照してください、と私は "へのメール::" をどこに置きましたか?私のコントローラーで? – Jeremy

+1

それはあなたのアプリケーションに依存しますが、電子メールを送信するためにアクションを取る必要がある場合は、はいです。だからあなたのコントローラ内にあれば、確かに。 – Mozammil

+0

あなたは 'Mail :: to'を使うことができます。どこからメールを送りますか? –

関連する問題