SmptClient を使用して、gmail アカウントからメールを送信しています。このアカウントは毎日大量のメールを送信します (support@mydomain.com の自動メールのようなものです)。
突然機能しなくなるまで、すべて正常に機能していました。アプリケーションを変更したり、新しいバージョンをデプロイしたりしませんでした。
通常の SmptClient サンプル コードを試すと、次のエラー メッセージが表示されます。
Unable to read data from the transport connection: net_io_connectionclosed.
コード内の他の何も変更せずに、fromAddress と fromPassword のみを別のアカウントに変更すると、コードは機能します。
これが私が使用しているサンプルコードです:(別のアカウントで機能するため、コードは問題ありません)
var fromAddress = new MailAddress("****", "****");
var toAddress = new MailAddress("****", "****");
const string fromPassword = "****";
const string subject = "testing... ";
const string body = "body test";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
Timeout = 20000
};
var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
};
smtp.Send(message);
無効なアカウントを使用して Gmail に接続し、メールを送信すると、機能します。SMTP サーバーが認証に失敗しているようです。
Gmail の最新のアカウント アクティビティのリストに接続しました が、コードから行った接続試行が表示されませんでした。助けてください、ありがとう!