2012年11月7日水曜日

Laravelに、swiftmailerバンドルを設定

Laravelに、swiftmailerバンドルを設定してみました。コレ1サーバーさんの記事に紹介されているように、gmailをSMTPサーバーとして設定できます。素晴らしい。

/bundles/swiftmailer/start.php
// Register a transporter in the IoC container
Laravel\IoC::register('mailer.transport', function()
{
    // return Swift_MailTransport::newInstance();
    return Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
        ->setUsername('yourmailid@gmail.com')
        ->setPassword('yourgmailpassword');
});
その他、変更を加えた点は、preferences.php ファイル。クラウド環境だと、/tmp ディレクトリを利用することができずにエラーが出てしまうので、ごっそりコメントアウトしました。キャッシュとして利用している部分のようなので、問題ないような気がします。

/bundles/swiftmailer/library/preferences.php
/*
if (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()))
{
  Swift_Preferences::getInstance()
    -> setTempDir(sys_get_temp_dir())
    -> setCacheType('disk');
}
*/
実際のサンプルがこちら。お問合せのメールが飛ぶようになりました。嬉しい(笑)。



参考サイト
Laravelでメール送信(コレ1サーバーさん)

2 件のコメント:

  1. 紹介いただき、ありがとうございます。これ1サーバーのHiroKwsです。

    Laravelは面白いですね。あまり難しくなく、機能が全然足りないほど単純すぎず、調度良い具合にまとまっています。

    これからも、楽しい紹介記事、期待しております。

    返信削除
    返信
    1. コメントありがとうございます。嬉しい驚きです。光栄です!

      日本語の情報が少ないので、本当に助かっています。

      削除