Help us understand the problem. What is going on with this article?

CakePhp3でGmailからメールを送る

More than 3 years have passed since last update.

CakePhp3では、メールサーバがあれば割と簡単にメールを送ることができる。
手軽に利用できるメールサービスといえば、Gmail。
今回はGmailのSMTPサーバを使って、CakePhp3からメールを送るための設定について。

アカウントを取得する

まずはGmailのメールアドレス(アカウント)を取得する。
普通にアカウントを作ればいい。
既にアカウントを持っている場合でも、セキュリティの設定などを行っていると、
上手く認証できない可能性が高いのでできるだけ新しいアカウントを作ったほうがいいと思う。

メール送信設定

CakePhp3のconfig/app.phpにメールの送信に関する設定を書いておく。
EmailTransportという部分があるので、そこを設定する。

config.php
    'EmailTransport' => [
        'default' => [
            'className' => 'Smtp',
            // The following keys are used in SMTP transports
            'host' => 'ssl://smtp.gmail.com',
            'port' => 465,
            'timeout' => 30,
            'username' => 'gmailのメールアドレス',
            'password' => 'gmailのパスワード',
            'transport' => 'Smtp',
            'client' => null,
            'tls' => null,
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
        ],
    ],

メールを送信する

メールを送信するときは、Emailクラスを使う。
とりあえず、一番上でuse宣言をして、処理の中でEmaliクラスを使って、メールの処理を書く。

use Cake\Mailer\Email;


    public function send(){
        $email = new Email('default');
        $email->from(['送り元アドレス' => '名前'])
              ->to('送り先アドレス')
              ->subject('タイトル')
              ->send('本文');
    }

この処理を実行すると、'送り元アドレス'から'送り先アドレス'へメールが送信される。
toのほかにもccbccといったメソッドも存在する。
複数のアドレスに送るときは配列で指定するか、addTo(addCcaddBcc)メソッドで追加していけばいい。
(toccbccを何度も書くと上書きされる)

frost_star
まだまだ半人前プログラマー。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした