概要
- 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アドレス認証が効いてうまくいったようだ。