[CakePHP3] メールの送り方

CakePHP3で、メールの飛ばし方を説明する。

メールサーバーとして、さくらのメールボックス(メールサーバー)を使うことにする。

メールサーバー情報

まずは、サクラでメールボックスを借りる。

http://www.sakura.ne.jp/

年間で1000円ちょっとのメールサーバだけど、メルマガ送ったりするわけでないなら十分。

レンタルして、ドメインを決めて、xxxxx.sakura.ne.jpといった感じのドメインになる。

次に、適当にプログラム用にアカウントを作成する。(ここではsenderとする)

cakemail2

ここまでで必要な情報が揃う

  • ドメイン名:xxxxx.sakura.ne.jp
  • アカウント名:sender
  • パスワード:*********

メール情報を設定する

config/app.phpでEmailTransportという設定があるので、以下のように’sakura’の設定を追記する。

要約すると、Smtpで587番ポートで、メールを送るよってこと。

メールを送る

まず、メールのテンプレートとなる物を用意する。

src/Template/Email/textに、適当なctpファイルを追加する。(ここではrecblog.ctpとする。)

内容は以下のような感じ。

そして、送信する側は以下のような感じ。

最初に設定したsakuraの設定で、fromを適当に変えて、templateでさっきのrecblog.ctpを読み込んで、recblog.ctpで使う変数$linkを設定して、xxxxx@mogemoge.co.jp向けにタイトル’オススメのブログ!!’で送信する。

全部、アロー(->)演算子でつなげまくってるけど、別に繋げなくても一つ一つ設定しても大丈夫。

ちなみに new するときにネームスペースをフルで書いてるけど、ファイルの先頭でuse使えば省略できる。

注意点としては、fromに存在しないドメインを入れるとエラーになる。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">