2016-09-27 3 views
0

Я не могу понять, почему этот код не работает.Клиент E-mail - C#

У меня есть эта ошибка:

  • System.IO.IOException: Соединение закрыто на System.Net.Mail.SmtpClient.Read()

  • System.IO.IOException: Закрытое соединение на System.Net.Mail.SmtpClient.SendCore

  • System.IO.IOException: Соединение закрыто на System.Net.Mail.SmtpClient.SendInternal

  • System.IO.IOException: Соединение закрыто на System.Net.Mail.SmtpClient.Send

    static void Main(string[] args) 
        { 
         var smtp = new SmtpClient 
         { 
          DeliveryMethod = SmtpDeliveryMethod.Network, 
          UseDefaultCredentials = false, 
          EnableSsl = true, 
          Host = "smtp.gmail.com", 
          //465 SSL se uso 25 solo ad utenti google mando 
          Port = 465, 
          Credentials = new NetworkCredential("id", "password"), 
         }; 
    
         Console.WriteLine("Mail From: "); 
         var fromAddress = new MailAddress(Console.ReadLine()); 
    
         Console.WriteLine("Mail To: "); 
         var toAddress = new MailAddress(Console.ReadLine()); 
    
         Console.WriteLine("Subject: "); 
         string subject = Console.ReadLine(); 
    
         Console.WriteLine("Body: "); 
         string body = Console.ReadLine(); 
    
         using (var message = new MailMessage(fromAddress, toAddress) 
         { 
          Subject = subject, 
          Body = body 
         }) 
    
         try 
         { 
          smtp.Send(message); 
         } 
         catch(Exception ex) 
         { 
          Console.WriteLine("Unable to send message due to the following reason: " + ex.ToString()); 
         } 
        } 
    

, как я могу решить эти проблемы?

+1

Возможный дубликат [SmtpException: невозможно прочитать данные из транспортного соединения: net \ _io \ _connectionclosed] (http://stackoverflow.com/questions/20228644/smtpexception-unable-to-read-data-from-the -транспорт-соединение-net-io-connect) –

ответ

0

Попробуйте порт 587 вместо 465. Порт 465 технически устарел.

+0

Здесь вы можете найти аналогичную проблему: http://stackoverflow.com/questions/20228644/smtpexception-unable-to-read-data-from-the-transport-connection -net-io-connect – iDesireJustice

+0

Даже если я устанавливаю порт на 587, у меня такие же ошибки. Кроме того, Gmail сообщает мне, что кто-то пытался получить доступ к моей учетной записи. – th3g3ntl3man

+0

@JeremyShiklov, если вы собираетесь копировать и вставлять ответ, тогда вы просто должны указывать вопрос как дубликат. – user1666620

0

с замечанием ФП в:

Even if I set the port on 587 I have the same errors. In addition, Gmail tells me that someone attempted to access my account

Если это тот случай, когда вы используете порт 587, то вы должны позволить менее безопасные приложения в настройках Gmail. Если вы используете двухфакторную аутентификацию, вам также необходимо добавить пароль приложения и использовать его вместо этого.