Laravel でメール送信
設定はlaravel/config/mail.phpで行っていますが、実際の記述は.envファイルに記述する
MAIL_DRIVER=smtp MAIL_HOST=mail.hogehoge.net MAIL_PORT=25 MAIL_USERNAME=info@hogehoge.net MAIL_PASSWORD=hogepassword MAIL_ENCRYPTION=null
php artisan make:mail MailSend
下記のファイルができる。
$ ll app/Mail/MailSend.php
$ cat resources/views/mail/MailSend.blade.php {{$content->name}} さんはじめまして。 テストメール
app/Mail/MailSend.php
<?php namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class MailSend extends Mailable { use Queueable, SerializesModels; /** * Create a new message instance. * * @return void */ public function __construct($contact) { $this->contact = $contact; } /** * Build the message. * * @return $this */ public function build() { return $this->from('info@hogehoge.com') // 送信元 ->subject('メールたいとる') // メールタイトル ->text('mail.MailSend') // どのテンプレートを呼び出すか ->with(['contact' => $this->contact]); // withオプションでセットしたデータをテンプレートへ受け渡す } }
use App\Mail\MailSend; use Illuminate\Support\Facades\Mail; $contents->name = $request->get('name'); Mail::to('to@hogehoge.net') ->bcc('bcc@hogehoge.net') ->send(new VpsDiskusageMail($contents));