2016年5月3日火曜日

【検証済】 Gmailの SMTP サーバーは Gmailアカウントによる認証を通れば利用可能(ではなくなってる)

2018年5月11時点で、Gmailの SMTP サーバーは Gmailアカウントによる認証を通っても、差出人は認証したGmailアドレスになってしまう。。ように戻ってますねぇ

2014年8月に、【仕様変更】GmailのSMTPサーバー利用は、Gmailメールアドレスのみに限定!? と書きました。しかし、ここ最近の検証結果と確認結果として、現在は下記の仕様だということがわかりました。
  •  Gmailの SMTP サーバー( smtp.gmail.com ) を利用するには、 GmailアカウントによるSMTP認証をパスすれば差出人に問わず利用できる

差出人がGmailじゃなくても大丈夫


というわけなのです。
要するに、GmailアカウントでSMTP認証を通ればいいんですよね。

Googleグループも差出人にできるよ!


2020年5月11日時点で、できなくなっています(有効なメールアドレスでないと出ますね)

確認コード受取のため、一瞬一般公開しないとだめですけどね。
ただし、Return-Path はSMTP認証に使ったGmailアドレス(つまりエンベロープ-Fromも同様)が表示されます。あくまで、メール内の From(差出人)のみ変更できるよってことです。

2段階認証を有効にしていた場合には、アプリ固有のパスワードを使おう


Gmailの差出人変更における、GmailのSMTPサーバーのSMTP認証は、2段階認証を有効にしている場合にはアプリ固有のパスワードが必要です。2段階認証を有効にしていない場合には、未検証ですが通常のパスワードで弾かれたなら、安全性の低いアプリからのアクセスを許可しないといけないかなと思います。

検証結果


Gmail(A)にYahoo! Japanのフリーメールアドレスを差出人として、Gmail(B)アカウントを利用してSMTP認証をしてみました。

From: ◯◯@yahoo.co.jp
SMTP Setting 
  SMTP Server: smtp.gmail.com
  Port: 465 using SSL
  Username: ◯◯@gmail.com
  Pass: App password for 2-step authorization (△△@gmail.com)

※Portは 587 using TLS でも問題ありません。
※Google Appsアカウントでも出来ました。

プログラムから実行するには


を参考にしてみてください!

2016年5月3日 @kimipooh

1 件のコメント:

  1. 非常に参考になります。
    この設定で送信した際のメールヘッダについても追記されるとさらに参考になると思います。

    返信削除