web-dev-qa-db-ja.com

Gmail:トランスポート接続からデータを読み取れません:net_io_connectionclosed

5年以上問題なく動作しているアプリケーションがあります。今朝、特定のGmailアカウントを使用してメールを送信できなくなりました。受け取る例外は次のとおりです。トランスポート接続からデータを読み取れません:net_io_connectionclosed。別のアカウントの資格情報を使用すると正常に機能します。アカウントの認証情報に変更はなく、Gmailインターフェースを使用してアカウントからメールを送信できます。私はGoogleに連絡しましたが、彼らの返答は、アカウントは問題ないように見える、それはあなたのアプリケーションでなければなりません...私の返答、アプリケーションは変更されておらず、他の資格情報を使用しています。私の関連コードは以下です、何かアイデアはありますか?

try
            {
                SmtpClient smtpClient = new SmtpClient();
                using (MailMessage message = new MailMessage())
                {
                    message.From = new MailAddress(Program.EMAIL_SENDER_ADDRESS, "SENDER NAME");
                    message.To.Add(new MailAddress(Program.ERROR_RECIPIENT));

                    message.Subject = callingClass + " ERROR: " + subject;

                    message.IsBodyHtml = true;

                    message.Body = body;

                    smtpClient.Host = "smtp.gmail.com";
                    smtpClient.Port = 587;
                    smtpClient.EnableSsl = true;
                    smtpClient.Credentials = new System.Net.NetworkCredential(Program.EMAIL_SENDER_ADDRESS, Program.EMAIL_SENDER_PASSWORD);

                    smtpClient.Send(message);
                    smtpClient.ServicePoint.CloseConnectionGroup(smtpClient.ServicePoint.ConnectionName);
                }
            }
            catch (Exception x)
            {
                //handle exception
            }

更新-Googleに電話してから約30分後に、魔法のように再び働き始めました。アプリ自体が修正されたと思いますか?!?!

8
DonJoe

少し前にGmailでも同様の問題がありました。 Googleがメールアプリのセキュリティを強化したため、これが解決策となりました(2016年9月時点で機能)。

これを使う Google MyAccount Page

  1. Gmailページで、右上隅にあるアカウントのアバター画像をクリックします。
  2. [マイアカウント]を押し​​ます。
  3. [サインインとセキュリティ]を押します。
  4. [接続済みのアプリとサイト]セクションまでスクロールします。
  5. [安全性の低いアプリを許可する]をオンに切り替えます。

https://support.google.com/accounts/answer/6010255?hl=ja

7
slasky