15
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Heroku環境でSendGridを使ってメール送信

Last updated at Posted at 2017-08-20

はじめに

※2017/08/20時点
Heroku環境からはデフォルトだとメール送信ができないため、
SendGridアドオンを入れてメールを送信する流れを記載します。(言語:PHP)
基本的には、↓公式サイトに手順が記載されているので、それに沿って行っていきます。
https://devcenter.heroku.com/articles/sendgrid
以下がざっくりした流れ+備忘録です。

流れ

  1. SendGridアドオンを追加する
  2. SendGridのサイトに行って、APIキーを作成する
    • ※ 環境変数にSendGridのID,パスワードが書き込まれるが、Herokuサイトの自分のAppの"SendGrid"をクリックすればシングルサインオンできる。
  3. 作成したSendGridのAPIキーを自分のAppの環境変数に追加する
    • ※ ブラウザからなら、自分のAppのSettings>Config Variablesから追加ができる。
  4. ComposerでSendGridのライブラリを取得
  5. autoload.phpでライブラリを読み込み、環境変数から取得したAPIキーを渡してメールを送信
<?php
require 'vendor/autoload.php';

$from = new SendGrid\Email(null, "test@example.com");
$subject = "Hello World from the SendGrid PHP Library!";
$to = new SendGrid\Email(null, "test@example.com");
$content = new SendGrid\Content("text/plain", "Hello, Email!");
$mail = new SendGrid\Mail($from, $subject, $to, $content);

$apiKey = getenv('SENDGRID_API_KEY');
$sg = new \SendGrid($apiKey);

$response = $sg->client->mail()->send()->post($mail);
echo $response->statusCode();
echo $response->headers();
echo $response->body();
15
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?