Edited at

cakephp3 で sendgrid 使おうぜ


sendgrid って何よ?

使うと迷惑メールにならんのよ。


特徴は?

webapi 早い

smtp 遅い


設定

https://sendgrid.kke.co.jp/

から申し込む。

1社につき、1アカウントしか使えんみたいんなので、注意。


設定

以下をクリックしてから

※画像が間違っている。MailSettingsの下の

Sender Authentication をクリックする

SendGrid.png

参考に設定(情報がちょい古い)

https://xn--hckj0bf8p.com/wordpress-mail-does-not-arrive-and-delayed-resolve-with-sendgrid/

まぁCNAMEをコピペしてくだけなんだけど。


APIキーを取得

SendGrid (1).png

一回しか表示できんので、

ちゃんとメモること。


CAKEPHP3で使おうぜ

composer でインストール


composer require iandenh/cakephp-sendgrid


app.php

'EmailTransport' => [
'SendgridEmail' => [
'className' => 'SendgridEmail.Sendgrid',
'api_key' => '[YOURKEY]'
]
],

'Email' => [

'Sendgrid' => [
'transport' => 'SendgridEmail',
],
],


を設定。


いざ送信


// use Cake\Mailer\Email;

//そのまま送る
$email = new Email('Sendgrid');
$email->from(['from@from.com' => 'ふろーむ'])
->transport('SendgridEmail')//config変更

->to('send@sendo.com')
->subject('こんにちわ。')
->send('
はじめまして。
https://yahoo.co.jp
にご登録頂きありがとうございます。');

これで送信できます。


変なurl に飛ぶやん?

SMTPまたはWeb APIを利用している場合

Settings>Tracking>Click Tracking設定から無効化できます。くわしくはユーザマニュアルをご覧ください。