サイトアイコン 知的好奇心

メール配信サービス「SendGrid」

おすすめのメール配信サービス「SendGrid」をご紹介します。

SendGridとは?

全世界で利用されているメール配信サービスです。
メールサーバーの構築が不要で、アカウントを作成するだけで即日メール送信出来るようになります。

機能

以下のような機能を提供しています。

配信方法

メールの送信方法は3種類あります。

SendGridホームページ

料金は?

無料から送信数に応じた様々な有料プランがあります。

無料版の場合、以下のような制限事項があります。

無料版について

制限があるとはいえ、とりあえず使ってみる分には十分な内容です。

メールの受信は?

メール受信に相当するParse Webhookという機能を用いることでメールの受信もできるようです。

設定が必要なようなので詳細は以下をご確認ください。
https://sendgrid.kke.co.jp/docs/Tutorials/E_Receive_Mail/receive_mail.html

WordPressでも使用できる

WordPress向けにSendGrid公式プラグインが用意されています。

プラグインをインストールして設定を行うことにより、WordPressからSendGridを通してメールを送信できるようになります。https://sendgrid.kke.co.jp/docs/Integrate/Open_Source_Apps/wordpress.html

無料版を使ってみる

会員登録の流れは以下の通りです。

会員登録には審査があり、少し時間がかかるようです。

審査結果のメールが届くまで、しばらくお待ちください(通常2営業日以内)。

実際に試してみたところ、1時間ちょっと位で登録完了のメールが送られてきました。

SMTPを使ってみる

メールで送られてきた「ユーザ名」と登録時に自分で設定した「パスワード」を用いてSendGridのマイページにログインします。

Sender Whiz > Setup Guideを選択して、SMTPの設定を行います。

以下の画面で、Create an API Keyで適当なAPIキー名を入力し、Create Keyボタンを押します。
すると下のPassword欄にパスワードが生成されます。

以上で準備は整いました。
Server、Ports、Username、Passwordを使用するアプリケーションのSMTP設定に記述することで、SendGridのSMTPからメールを送信することができます。

今回はDjangoのパスワードリセットのメール送信で試してみました。
settings.pyに以下のようにSMTP設定を行います。

# settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = 'SendGridで生成されたパスワード'
EMAIL_USE_TLS = True # TLS (Transport Layer Security)設定
DEFAULT_FROM_EMAIL = 'test@test.com' # メールのfrom

実際にパスワードリセットを行ったところ、以下のようにメールが送信されることを確認しました。

このメールは 127.0.0.1:8000 で、あなたのアカウントのパスワードリセットが要求されたため、送信されました。

次のページで新しいパスワードを選んでください:

http://127.0.0.1:8000/reset/MQ/51c-528ebe627cd699bc5699/

あなたのユーザー名 (念のため): admin

ご利用ありがとうございました!

127.0.0.1:8000 チーム

Djangoのパスワードリセット処理実装については以下の記事をご参照ください。

Djangoのログイン処理を実装する方法③~パスワードリセット~

モバイルバージョンを終了