3
2

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.

GCPのメール送信(GAE standard, GAE flexible, GCE)

Posted at

問題点

Google App Engineフレキシブル環境では、SendGrid、Mailgun、Mailjet等のサードパーティーのサービスを利用してメールを送信するとされています。
Google App Engineスタンダード環境では、サードパーティーのサービスを使う以外にApp Engine Mail APIを利用することができます。
フレキシブル環境で、App Engine Mail APIは利用できませんが、App Engine Mail APIでメール送信するスタンダード環境のAPIサーバーを1個立てて、それをフレキシブル環境から呼び出すことによりメール送信することができます。
しかし、App Engine Mail APIは課金を有効にした場合でも一日100通(メール*送信先)という制限があります。制限を解除するようGoogleに問い合わせてもサードパーティーのサービスを使うよう案内されます。(建前)

Compute Engineでもメール送信は、サードパーティーのサービスやG Suiteアカウントを使う、自社メールサーバーを使う等方法がありますが、いろいろあっても環境によっては全滅です。

解決策

Gmail のアカウントを新たに取得して、GmailのSMTPを経由してメールを送信することができます。G Suiteは必要ありません。
smtp.gmail.com の587ポートで送信できます。
これで、GAEスタンダード環境、GAEフレキシブル環境、GCEに対応します。

Gmailの設定で、安全性の低いアプリからのアカウントへのアクセスを許可する必要があります。

1,Google アカウントに移動します。
2.左側のナビゲーション パネルで [セキュリティ] をクリックします。
ページ下部の [安全性の低いアプリのアクセス] パネルで [アクセスを有効にする] をクリックします。
この設定が表示されない場合、安全性の低いアプリによるアカウントへのアクセスを管理者が無効にしている可能性があります。

おそらく新しいサーバーIPから送信しようとしたとき、ブロックされる場合があります。
送信元のGmailアドレスに「重大なセキュリティ通知」「不正なログインがブロックされました」というメールが届きます。このメールのリンクからブロック解除することができます。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?