82
65

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 1 year has passed since last update.

Gmailで他のSMTPサーバー経由でメールの配信エラーになる問題

Last updated at Posted at 2020-04-12

ここ最近なって、Gmailで他のメールサーバー経由でのメール送信がエラーになる問題が発生しているようです。

現象

メールを送信した後にこのようなエラーが返ってきます。

メールの配信エラー
[名前] の機能を使用して、別のアドレスまたは別のエイリアスからこのメールを送信しようとしています。[名前] のアカウントの設定に誤りがあるか、設定が最新の状態ではありません。設定を確認して、もう一度送信してみてください。

image.png

SMTPの設定に問題があるのかな、と思い改めて入力してもこのエラー。

image.png

エラーメッセージは

TLS Negotiation failed, the certificate doesn't match the host., code: 0

とあるので、接続先のドメイン名と証明書のドメイン名が異なっている模様。

原因はおそらくGmailのセキュリティー強化。

G Suite アップデート ブログ: デフォルトの TLS およびその他の新機能を使って Gmail のメール セキュリティを強化する

原因特定・対処

では早速SMTPサーバーで使用されている証明書のドメイン名を確認しましょう。このコマンドでご確認できます(Mac、Amazon Linuxで確認)。

openssl s_client -connect SMTPサーバーのドメイン名:587 -starttls smtp

コマンドを実行したらコマンド待ちの状態になるので quit で抜けます。

image.png

コマンドを実行するといろいろ出力されますが、コマンド実行直後の表示を確認します。
SMTPサーバーのドメイン名証明書のドメイン名 が異なっていればそれが原因です。

GmailのSMTPサーバーで入力するドメインを 証明書のドメイン名 に変更することで解決するはずです。

対処不可能な場合

image.png

上記画像のように、結果に verify error:num=18:self signed certificate と出た場合は、書き換えても改善しません。
メールサーバーを運営しているレンタルサーバー、プロバイダなどに問い合わせるか、サービスの乗り換えを検討しましょう。

82
65
3

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
82
65

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?