2016-07-22 33 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のエラーを取得しています(メール)メソッド私が試してみました何

システム.Security.Authentication.AuthenticationException:SSPIへの呼び出しが失敗しました。内部の例外を参照してください。 ---> System.ComponentModel.Win32Exception:要求された関数がサポートされていません ---内部例外スタックトレースの終了--- at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolTokenメッセージ、AsyncProtocolRequest asyncRequest、例外例外) at

+0

認証エラーのため、接続の詳細が正しいかどうかを確認することをお勧めします(ユーザー名、パスワード、ホスト名など) – Takarii

答えて

0

これは、別のエラーが発生しているかどうかを確認するために、まず認証なしで試してみます。

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; 
    } 
関連する問題