LoginSignup
2

More than 5 years have passed since last update.

System.Net.Mail.SmtpClientでのGmailリレー設定

Last updated at Posted at 2018-02-23

概要

  • SmtpClientでGmailリレーでの接続を試した
  • ポート465では接続できず・・
  • ポート587でもEnableSSL=Trueだと認証エラーに。。
  • Credentialをブランクにしたら成功!

結論

.Net Framework2.0 のSmtpClientでGmailとのリレー設定をする必要があり、色々試した。

何度試してもうまく行かなかったが、最終的にはSmtpClient.Credencialの中身をブランクにしたところうまく行った。

Gmail側の設定

上記URLにある各種設定を以下に設定
ステップ 1: SMTP リレーサービスを使用して送信メールの経路を指定する
  6 [許可する送信者] → ドメイン内のアドレスのみ
  7 [認証] → 指定したIPアドレスからのみメールを受信する
  9 [TLS暗号化を必須とする] → チェックなし

失敗した設定

Dim client As SmtpClient = New SmtpClient("smtp-relay.gmail.com", 587)
client.EnableSSL = True
client.Credentials = new NetworkCredential("USER_ID", "PASSWORD")
client.Send(Message)

返ってきたエラー

5.5.1 Authentication Required.

成功した設定

Dim client As SmtpClient = New SmtpClient("smtp-relay.gmail.com", 587)
client.EnableSSL = True
client.Credentials = new NetworkCredential("", "")
client.Send(Message)

結局、ユーザ単位での認証になってしまっていてエラーになっていたのか、ユーザを未設定にするとIPアドレス認証が効いてうまくいったようだ。

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
2