簡體   English   中英

使用 NTLM 在 C# 中發送電子郵件

[英]Send Email in C# using NTLM

我需要使用 NTLM 發送電子郵件,目前,我使用以下代碼發送電子郵件

SmtpClient objSmtpClient;
        System.Net.NetworkCredential objNetworkCredential;
        objSmtpClient = new SmtpClient("10.xxx.xxx.xxx", 587);
        objSmtpClient.EnableSsl = true;
        objNetworkCredential = new System.Net.NetworkCredential(userName, password);
        try
        {
            string to = txtto.Text;
            MailMessage objMailMessage = new MailMessage();
            objMailMessage.From = new MailAddress("from@email.com", "sendername");
            objMailMessage.To.Add(new MailAddress("to@email.com"));
            objMailMessage.Subject = "subject";
            objMailMessage.Body = "body";
            objMailMessage.IsBodyHtml = true;
            objSmtpClient.EnableSsl = true;
            objSmtpClient.UseDefaultCredentials = true;
            objSmtpClient.Credentials = objNetworkCredential;
            objSmtpClient.Send(objMailMessage);
        }
        catch (Exception ex)
        {
         MessageBox.Show(ex.Message + " INNER EXCEPTION > "+ex.InnerException +" DATA > "+ex.Data);  
        }

如果我嘗試將端口更改為 25 並將 EnableSSL 更改為 false,則上述代碼有效,但是當我嘗試使用 587 發送它並將 EnableSSL 設置為 true 時,它​​不起作用。

我收到以下錯誤,有時我收到無效證書錯誤。

SMTP 服務器需要安全連接或客戶端未通過身份驗證。 服務器響應為:5.7.1 客戶端未通過身份驗證。

我也收到這個錯誤

在此處輸入圖片說明 我認為問題出在身份驗證上,如何強制使用 NTLM

我與 IT 團隊交談,他們在我的電腦上安裝了一個工具來檢查電子郵件,使用該工具電子郵件已成功發送。

以下是他在該工具中應用的設置

在此處輸入圖片說明

有人可以幫忙嗎

我正在測試,我遇到了同樣的問題,我通過禁用 SSL 安全來修復它

SC.EnableSsl = false; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM