作成日:2020-10-15, 更新日:2020-10-15
基本
・SendGrid
・メルマガとかメールをいっぱい送りたいときにいい感じにやってくれるサービス
使用方法
1.SendGridよりアカウント作成(無料 or 有料)
2.ライブラリ or curlで実行
ライブラリで実行
・PHP version 5.6, 7.0, 7.1, 7.2, 7.3, or 7.4
今回の作業対象のPHPのバージョンが5.4だったので・・・ライブラリを使うってのはダメだった。
curlで実行
細かいことは公式のドキュメントを確認
・SendGrid ドキュメント
※内容によっては、APIリファレンスじゃなく、チュートリアルにしか記載がなかったりするので両方を確認する必要アリ
▼メールを送るサンプル
$apiKey = 〇〇〇〇;
$url = 'https://api.sendgrid.com/v3/mail/send';
$from_mail = 'hoge@example.com';
$to_mail = 'foo@example.com';
$req_header = array(
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
'cache-control: no-cache',
);
$req_body = array(
'personalizations' => array(
array (
'to' => array(
array(
'email' => $to_mail,
),
),
),
),
'from' => array(
'email' => $from_mail,
),
'subject' => 'Hello, SendGrid!',
'content' => array(
array(
'type' => 'text/plain',
'value' => 'Hi!',
),
),
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HEADER, false);
// json形式で値をセット
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($req_body));
// 全APIヘッダのセットは必須っぽい
curl_setopt($ch, CURLOPT_HTTPHEADER, $req_header);
$source = curl_exec($ch);
curl_close($ch);