2017-04-05 63 views
1

MVCプロジェクトとHotmail用にC#を使用して電子メールを送信したいのですが、ポート25と587を自分の資格情報を使用して試しましたが、SSLを変更すると '5.7.3ユーザーが認証されません'偽にすると、「5.7.0、STARTTLSコマンドを最初に発行しなければならない」というメッセージが表示されます。 同じ問題の他に2つの質問がありますが、答えの1つが古い(outlook.comに存在しない設定を示します)、もう1つは解決しませんでした(sslをfalseに変更)。サーバーの応答は次のとおりです。5.7.3要求された処理が中止されました。ユーザーが認証されていない

これは私のコードです(もちろん私のメールアドレスとパスワードは削除しました)。質問は5.7.3に乗るために何ができるのですか?何か不足していますか?

MailMessage mail = new MailMessage(<email>, <email>); 
     SmtpClient client = new SmtpClient("smtp-mail.outlook.com"); 

     client.Port = 587; 
     client.DeliveryMethod = SmtpDeliveryMethod.Network; 
     client.UseDefaultCredentials = false; 
     client.Credentials = new System.Net.NetworkCredential(<email>, <pass>); 
     mail.Subject = "this is a test email."; 
     mail.Body = "this is my test email body"; 
     client.EnableSsl = true; 
     client.Send(mail); 

答えて

0

このコードは通常、自分のコンピュータで動作します。

あなたが見なければならない二つの問題があります:あなたはhotmailの

  • で外部アプリケーションの使用を有効にした場合、コンピュータ がロックされている場合

    マイコード:

    MailMessage mail = new MailMessage("from", "to"); 
    SmtpClient client = new SmtpClient(); 
    
    client.EnableSsl = true; 
    client.Host = "smtp-mail.outlook.com"; 
    client.UseDefaultCredentials = false; 
    client.Credentials = new System.Net.NetworkCredential("email", "password"); 
    
    client.Port = 587; 
    client.DeliveryMethod = SmtpDeliveryMethod.Network; 
    
    mail.Subject = "test"; 
    mail.Body = "test"; 
    
    client.Send(mail); 
    
  • 関連する問題