LaravelのMessageバンドルでメール送信

以前、『swiftmailerでメール送信』で、メールを送信してみましたが、『Message』というバンドルがかなり使いやすそうなので、導入して、メールを送信してみたいと思います。

1. 『Message』のコマンドは、Laravelらしい分かり易いコマンドですので、すぐに覚えられると思います。

Artisanコマンドによるインストール

2. まず、コマンドプロンプトを起動したら、ローカルのartisanファイルがあるフォルダまで移動します。

cd c:\xampp\htdocs\laravel

3. messageバンドルをインストールします。

php artisan bundle:install messages

バンドルの自動スタートを登録

4. bundles.phpファイルを開き、自動登録します。

laravel/application/bundles.php

return array(
'messages' => array(
 'auto' => true
 ),
);

Configファイルの設定

5. smtpにGmailを、sendmailにレンタルサーバーのパスを指定したいと思います。

laravel/bundles/messages/config/config.php

'transports' => array(
'smtp' => array(
 'host' => 'smtp.gmail.com',
 'port' => 465,
 'username' => 'nakada@gmail.com',
 'password' => '1234',
 'encryption' => 'ssl',
 ),
'sendmail' => array(
 'command' => '/usr/sbin/sendmail -bs',
 ),
'mail',
),
  • hostには、smtp.gmail.comを指定します。
  • portは465です。
  • usernameは、ご自身のGmailアドレスを入力します。
  • passwordは、ご自身が使用しているGmailのパスワードです。
  • encriptionには、sslを指定します。

6. コマンドは至って簡単です。ルーターからメールを送信してみたいと思います。

laravel/application/routes.php

//Messageバンドルでメール送信
 Route::get('message',function(){
 //メールの送信
 Message::send(function($message){
 //送信先を指定
 $message->to('nakada@i.softbank.jp');
 //送信元を入力します
 $message->from('nakada@gmail.com','中田秀雅');
 //件名を入力します。
 $message->subject('こんにちは');
 //メール本文を入力します。
 $message->body('Messageバンドルからのメール送信です');
 });
 //メールの送信確認
 if(Message::was_sent()){
 echo "メールを送信しました!";
 }
 });

7. また、チェーンメソッドを使用したコマンドはもっと簡単に記述することができます。

//Messageバンドルでメール送信
 Route::get('message',function(){
 //送信先を指定します
 Message::to('nakada@i.softbank.jp')
 //送信元を記述します
 ->from('nakada@gmail.com','中田秀雅')
 //件名を入力します。
 ->subject('こんにちは')
 //メール本文を入力します。
 ->body('Messageバンドルからのメール送信です')
 //メールを送信します。
 ->send();
 //メールの送信確認
 if(Message::was_sent()){
 echo "メールを送信しました!";
 }
 });

8. ブラウザでアクセスしてみます。

http://localhost/laravel/public/message

laravel004

9.  無事メールを受信しました。

laravel005

Messageバンドルの各メソッド

10. それでは、簡単にMessageバンドルの各メソッドを紹介します。

  • send()メソッド
    メールを送信します。
  • to()メソッド
    送信先を指定します。複数指定するときは配列で指定します。
  • cc()メソッド
    CCメールを指定します。to()メソッドと同様に複数指定するときは、配列で指定します。
  • bcc()メソッド
    BCCメールを指定します。上記と同様。
  • from()メソッド
    送信元を指定します。第1引数にメールアドレス。第2引数が送信者名を指定します。
  • subject()メソッド
    件名を指定します。
  • body()メソッド
    メール本文を指定します。メール本文にビューファイルを指定することができます。ビューファイルを指定するには、引数に、’view: [ビューファイルのパス]’);で指定することができます。
    ※尚、view:の後には必ず半角スペースを入力してください。スペースがない場合や、全角スペースの場合は、引数すべてを文字列として判定してしまいます。つまり、’view:hello.index’と’view: hello.index’は、全く別物になりますので、要注意です。
  • html(true)メソッド
    HTMLメールを送信します。
  • attach()メソッド
    添付ファイルを指定します。引数にファイルのパス(場所)を指定します。
  • reply()メソッド
    返信メールを指定します。
  • was_sent()メソッド
    メールの送信確認をします。

本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ