1

例外:

SMTPサーバーに安全な接続が必要であるか、クライアントが認証されていません。サーバーの応答は次のとおりです。5.7.1クライアントは認証されませんでした

を使用していないDefaultcredentialsので、次のように設定client.UseDefaultCredentials = false; します。また、有効な電子メールIDとパスワード、ホスト名とポート番号を指定しました。ただし、同じ例外が発生します。この問題を解決するにはどうすればよいですか?助けてくれてありがとう。

public void SendCustomerForgotPassword(string mailTo, string forgotUserId, string forgotPassword) 
{ 
    string mailSubject = "", mailBody = "";
    mailSubject = ""; 
    StringBuilder sbMailBody = new StringBuilder(); 
    sbMailBody.AppendLine("Welcome to *****,"); 
    sbMailBody.AppendLine("\r"); 
    mailBody = sbMailBody.ToString(); 
    SetSmtpClient(mailTo, mailSubject, mailBody); 
}




    private void SetSmtpClient(string recipients, string subject, string body)
    {
        string EmailFrom = "here set an email id";
        string EmailFromPassword = "set password";

        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(EmailFrom, EmailFromPassword); 
        SmtpClient client = new SmtpClient(); 
        client.DeliveryMethod = SmtpDeliveryMethod.Network; 
        client.EnableSsl = true; 
        client.Host = "pod51018.outlook.com"; 
        client.Port = 587; 
        client.UseDefaultCredentials = false; 
        client.Credentials = credentials; 
        client.Send(EmailFrom, recipients, subject, body);
    }
4

2 に答える 2

0

次の詳細が正しいことを確認する必要があります (Office 365 パネルに表示される詳細と同様)。

  1. ホスト名
  2. 電子メールアドレス
  3. パスワード

コードは適切に表示されます (コード内の空白の文字列であるため、実際にアドレス/パスワードを渡すと仮定します) ため、設定に問題がある可能性があります。

于 2012-10-22T13:18:18.817 に答える
0

メッセージにあるように、あなたは認証されていません。

あなたのコードで:

string EmailFrom = "";
string EmailFromPassword = "";

        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(EmailFrom, EmailFromPassword);

これが正確なコードである場合 - 空のユーザー名とパスワードを渡しています..

于 2012-10-22T13:17:05.703 に答える