Laravel mailTrapでメール送信テスト 備忘録
本記事で達成できること
Laravelでmailtrapを利用したメール送信テストを実装できるようなる。
mailtrapとはメールを送信しても実際の宛先には飛ばさず、Webサイトから確認できるというサービス。
開発環境
cloud9
php 7.0 ※バージョン確認コマンド
php -v
Laravel 5.3.31 ※バージョン確認コマンド
php artisan --version
mailTrapでユーザー登録
以下の記事を参考に登録を行う。
メールの絡む開発にはmailtrapがおすすめ
Laravel側の設定
.env
ファイルを開き、以下の初期値を変更する。
変更前:
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
変更後:
MAIL_DRIVER=smtp
MAIL_HOST= smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=[MailtrapのUsername]
MAIL_PASSWORD=[MailtrapのPassword]
MAIL_ENCRYPTION=null
上記のMAIL_USERNAME
とMAIL_PASSWORD=
の項目はmailTrapから情報を参照。
メール送信のスクリプト
以下コマンドでメーう送信のために必要なクラスを生成。
php artisan make:mail SendMail
cloud9上の以下のディレクトリ配下にファイルが生成されていることを確認。
app/Mail/SendMail.php
以下のようなファイルが生成される。
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class SendMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('view.name');
}
}
build()メソッドに変更を加える。
public function build()
{
return $this
->from('[email protected]')
->subject('テスト送信完了')
->view('emails.test');
}
※ 変更を加えたview('emails.test');
にてメールテンプレートを作成するように記述しているが、テンプレート作成方法に関しては割愛させていただきます。
生成したファイルをインスタンス化してメールを送信するために、
とりあえずroutingは以下のように設定した。
// つまり "TestMailController" の sendメソッド を利用してメールを送信する
Route::get('/mail','TestMailController@send');
cloud9上の以下のディレクトリ配下に,
app/Http/Controller
TestMailControllerファイルを作成。
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\TestMail;
class TestMailController extends Controller
{
public function send(){
return Mail::to('[email protected]')->send(new SendMail());
}
}
sendメソッドを発火させればmailTrapのダッシュボード上で
メールを受信できていることを確認できる。
以上
参考にした記事:MailtrapでLaravelの簡単メール送信テスト
Author And Source
この問題について(Laravel mailTrapでメール送信テスト 備忘録), 我々は、より多くの情報をここで見つけました https://qiita.com/ryomaDsakamoto/items/e9d3a2c258dbfc66c524著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .