メール配信サービス「SendGrid」
おすすめのメール配信サービス「SendGrid」をご紹介します。
SendGridとは?
全世界で利用されているメール配信サービスです。
メールサーバーの構築が不要で、アカウントを作成するだけで即日メール送信出来るようになります。
機能
以下のような機能を提供しています。
- 到達率を高めるための送信ドメイン認証への対応
- ビジネスの成長に合わせ柔軟に拡張できるスケーラビリティ
- 配信状況や開封、クリックなどのリアルタイム分析機能
- 開発者向けに様々なAPIを提供
配信方法
メールの送信方法は3種類あります。
- SMTP
- Web API
- マーケティングメール機能
- ブラウザ上の操作だけで一斉配信できる機能。要追加料金。
料金は?
無料から送信数に応じた様々な有料プランがあります。
無料版の場合、以下のような制限事項があります。
- 送信通数上限12,000通/月
- サブユーザ機能利用不可
- 固定IPアドレス利用不可
- マーケティングキャンペーン機能の宛先リストの登録上限2,000件
制限があるとはいえ、とりあえず使ってみる分には十分な内容です。
メールの受信は?
メール受信に相当する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のログイン処理を実装する方法③~パスワードリセット~