2014-07-10 3 views
1

Я использую This post и This Post, чтобы создать простую отправку электронной почты. Приложение на консоли C#. Но я получаю сообщение об ошибке при отправке электронной почты на Gmail ...Отправка электронной почты через GMail: попытка подключения завершилась неудачно, потому что связанная сторона не ответила должным образом

{ "Попытка подключения не удалась, поскольку связан сторона не должным образом реагировать после определенного периода времени, или установленное соединение не удалось, поскольку подключенный хост не удалось ответить XXX "}

Вот мой код:

class Program 
    { 
     private static string to = "[email protected]"; 
     private static string from = "[email protected]"; 
     private static string subject="07/10/14"; 
     private static string body; 
     private static string address = "[email protected]"; 
     static void Main(string[] args) 
     { 

      MailMessage mail = new MailMessage(); 
      mail.To.Add(to); 
      mail.From = new MailAddress(from); 
      mail.Subject = subject; 
      mail.Body = body; 
      mail.IsBodyHtml = true; 
      SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.Credentials = 
       new System.Net.NetworkCredential(address, "YYYYY"); 
      smtp.Send(mail); 
      Console.WriteLine("Sent"); 
      Console.ReadLine(); 
     } 


} 

Мой App.Config Файл:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <appSettings> 
    </appSettings> 
    <system.net> 
    <mailSettings> 
     <smtp from="[email protected]"> 
     <network defaultCredentials="false" 
     userName="[email protected]" 
      password="YYYYY" 
     host="smtp.gmail.com" port="587" enableSsl="true"/> 
     </smtp> 
    </mailSettings> 

    </system.net> 
</configuration> 

Я прочел аналогичный пост .. Некоторое предложение конвертировать url в поток .. Я не получил его. Некоторые говорят, что проблема может быть в подключении к интернету. Другие говорят, что набор smtp-сервера для 587 .. Я применил все изменения ..still он показывает ту же ошибку

Пожалуйста Предлагайте

+0

ли вы попробовать следующее? 'mail.To.Add (новый MailAddress (" [email protected] "));' – Koryu

+0

Возможно, проблема с брандмауэром? – DGibbs

+0

Я добавил mail.To.Add (новый MailAddress («[email protected]»)); ... все еще не работает ... – user3767164

ответ

0

Я решил эту проблему ...

Просто используйте свой хостинг компании Smtp и порт ..Невысокого Gmail или другой one..If вас отправляются с хостинговой компании .... Проконсультируйтесь с вашим ИТ-центром для предоставления вашего SMT-адреса и порта вашей компании. Я ди d that..that решается вопрос

Это мой рабочий код .. это также отправка GMAIL компанией SMTP

class Program 
    { 
     private static string to = "[email protected]"; 
     private static string from = "[email protected]"; 
     private static string subject = "test Mail sent By Code"; 
     private static string body = "Mail sent By Code"; 

     static void Main(string[] args) 
     { 
      try 
      { 

       MailMessage mail = null; 

       using (mail = new MailMessage(new MailAddress(from), new MailAddress(to))) 
       { 

        mail.Subject = subject; 
        mail.Body = body; 
        mail.To.Add("[email protected]"); 

        SmtpClient smtpMail = null; 
        using (smtpMail = new SmtpClient("HostingComapny smtp Address")) 
        { 
         smtpMail.Port = Hosting Company Port No.; 
         smtpMail.EnableSsl = false; 
         smtpMail.Credentials = new NetworkCredential("youruserName", "yourPassword"); 

         smtpMail.UseDefaultCredentials = false; 
         // and then send the mail 
         ServicePointManager.ServerCertificateValidationCallback = 
    delegate(object s, X509Certificate certificate, 
      X509Chain chain, SslPolicyErrors sslPolicyErrors) 
    { return true; }; 
         smtpMail.Send(mail); 
         Console.WriteLine("sent"); 
         Console.ReadLine(); 

        } 

       } 

      } 
      catch (Exception ex) 
      { 

       throw ex; 
      } 

     } 


    } 
+0

Вы должны уметь отмечать это как принятый ответ (обычно, как правило, вы можете сделать это timelimit), что лучше, чем изменение вопроса на «Разрешено». –

Смежные вопросы

 Смежные вопросы