2016-07-22 7 views
0

Я использую ниже код в C#,электронной почты SMTP отправить запрос faild Somtime

string Subject = "test12";  
    MailMessage mail = new MailMessage(); 
    mail.To.Add(item.ToString()); 
    mail.From = new MailAddress(EmailUserName); 
    mail.Subject = Subject; 
    mail.Body = PopulateBody();  
    mail.IsBodyHtml = true; 
    SmtpClient client = new SmtpClient(EmailHost, EmailPort);   
    client.EnableSsl = true; 
    NetworkCredential credentials = new NetworkCredential(EmailUserName, EmailPassword); 

    client.UseDefaultCredentials = false; 
    client.Credentials = credentials; 
    client.Send(mail); 

Я получаю ошибку в Client.send метод (почта)

То, что я пробовал:

System .Security.Authentication.AuthenticationException: вызов SSPI не удался, см. Внутреннее исключение. ---> System.ComponentModel.Win32Exception: запрошенная функция не поддерживается --- Конец внутренней трассировки стека исключений --- в System.Net.Security.SslState.StartSendAuthResetSignal (сообщение протоколаToken, AsyncProtocolRequest asyncRequest, исключение исключения) at

+0

как его ошибка аутентификации, я бы предложил проверить правильность ваших данных подключения (имя пользователя, пароль, имя хоста и т. Д.). – Takarii

ответ

0

Я бы попробовал без проверки подлинности, чтобы проверить, дает ли другая ошибка, а также попробуйте без ssl.

protected bool NotifyByMail(string server, string strFrom, string strTo, string strSubject, string strBodyText, bool isBodyTextHtml = false) 
    { 
     if (string.IsNullOrEmpty (server) 
      || string.IsNullOrEmpty (strFrom) 
      || string.IsNullOrEmpty (strTo) 
      || string.IsNullOrEmpty (strSubject) 
      || string.IsNullOrEmpty (strBodyText)) 
      return false; 

     try { 
      MailAddress from = new MailAddress (strFrom); 
      MailAddress to = new MailAddress (strTo); 
      MailMessage message = new MailMessage (from, to); 

      message.Subject = strSubject; 
      message.Body = strBodyText; 
      message.IsBodyHtml = isBodyTextHtml; 

      SmtpClient client = new SmtpClient (server); 

     // Include credentials if the server requires them. 
     //client.Credentials = new System.Net.NetworkCredential ("********", "*******");// System.Net.CredentialCache.DefaultNetworkCredentials; 

      client.Send (message); 
      return true; 
     } 
     catch (Exception exception) { 
        // TODO ErrorHandling 
     } 

     return false; 
    } 
Смежные вопросы