2016-03-21 2 views
0

im получая исключение, когда tring выполняет этот метод отправки почты.C# sendmail gmail smtp ошибка синтаксиса

{ "Ошибка синтаксиса, команда не распознана Реакция сервера была:."}

мой код:

public async static Task SendExceptionMail(Exception e) 
    { 
     try 
     { 
      //TODO: fill.. 

      var message = new MailMessage(); 
      message.To.Add("[email protected]"); 
      message.From = new MailAddress("[email protected]"); 

      message.Subject = "Server Exception Occured"; 

      StringBuilder sb = new StringBuilder(); 
      sb.AppendLine("Exception occured. Stack trace:"); 
      sb.AppendLine(e.StackTrace); 
      sb.AppendLine(""); 
      sb.AppendLine("Time: " + DateTime.UtcNow); 

      message.Body = sb.ToString(); 
      message.IsBodyHtml = false; 
      message.BodyEncoding = UTF8Encoding.UTF8; 

      using (var smtpClient = new SmtpClient()) 
      { 
       smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "very_very_complicated_password_with_numbers_and_signs"); 
       smtpClient.Host = "smtp.gmail.com"; 
       smtpClient.Port = 465; 
       smtpClient.EnableSsl = true; 
       smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
       //smtpClient.UseDefaultCredentials = false; 


       await smtpClient.SendMailAsync(message); 
      } 
     } 
     catch (Exception ex) 
     { 
      Console.Write(ex.StackTrace); 
     } 
    } 

В Gmail счета я позволил IMAP и POP на вкладке настроек.

Что я пробовал:

  • изменить порт 587 и 25 на этот раз им получать The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at
  • комментируя/раскомментирован UseDefaultCredentials линию, то DeliveryMethod свойства
  • комментирование/раскомментирован IsBodyHtml и BodyEncoding

ответ

2

Предлагаю вам следить за этим - Sending email in .NET through Gmail и Cannot send mail from certain server

-Первый Проверить «Allowing less secure apps to access your account» это включить в учетную запись Google установки, а затем проверить с ниже код:

using (var smtpClient = new SmtpClient()) 
      { 
       smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "very_very_complicated_password_with_numbers_and_signs"); 
       smtpClient.Host = "smtp.gmail.com"; 
       smtpClient.Port = 587; // Google smtp port 
       smtpClient.EnableSsl = true; 
       smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; 
       smtpClient.UseDefaultCredentials = false;// disable it 
       /// Now specify the credentials 
smtpClient.Credentials = new NetworkCredential(message.From.Address, fromPassword) 

       await smtpClient.SendMailAsync(message); 
      } 

Там может быть какой-то вопрос брандмауэра.

Ссылки:
SendEmail in ASP.net shows me Syntax error, command unrecognized. The server response was: Dovecot ready
Syntax error, command unrecognized. The server response was ''

Надежда эта помощь.

+0

Если я не заметил свой код, код, который вы предоставили, точно такой же, как у меня. И да, до того, как я разместил этот вопрос, я также прочитал эти ответы, не помог с этим. Хотя я не связал какой-либо ip с gmail, просто установите параметры, о которых я упомянул –

+0

, вы пробовали, указав учетные данные и включите доступ для менее безопасных приложений в учетной записи gmail? –

+0

i coudln't найти раздел, где я могу выбрать, какой доступ я могу разрешить. я только активировал IMAP и POP, в соответствии с ответом в теме, которую вы мне дали, больше нет, где они говорят, что это –

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