亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 .NET 生成 HTML 電子郵件

使用 .NET 生成 HTML 電子郵件

C#
弒天下 2022-12-31 12:48:50
為了使用 .NET 應用程序生成簡單的 HTML 電子郵件,我已經苦苦掙扎了兩天。已經有幾個關于此主題的已回答 問題,并且在每種情況下語法都相對簡單。我仍然花了一天多的時間才開始工作。然而,該解決方案引發了更多問題。我查看了 Microsoft文檔,但在那里什么也沒找到。此語法有效并將生成一封 HTML 電子郵件:MailMessage message = new MailMessage();message.Subject = "Test";message.From = new MailAddress("[email protected]");message.To.Add("[email protected]");message.Body = "<strong>This is a test</strong>";message.IsBodyHtml = true;smtpClient.Send(message);但是,如果我使用具有四個參數簽名的 SmtpClient 對象的 Send 方法,它將不會生成 HTML 電子郵件:smtpClient.Send("[email protected]", "[email protected]",     message.Subject, message.Body);誰能解釋為什么會這樣。它是否記錄在案,或者它是一個已知的“問題”?IsBodyHtml 在這兩種情況下都設置為 true。
查看完整描述

3 回答

?
DIEA

TA貢獻1820條經驗 獲得超2個贊

我認為對此的解釋相當簡單。

在第一種情況下,您在對象中明確設置isBodyHtml為 true 。MailMessage然后將MailMessage對象傳遞給Send()方法。因此,它會根據您的指示將電子郵件格式化為 HTML。

在第二種情況下,您無法告訴系統電子郵件的格式。純文本通常是默認格式,因此在沒有任何其他說明的情況下,我希望它會使用這種格式。

NB You claim isBodyHTMLwas set to true 在這兩種情況下,但這沒有任何意義。在第二種情況下,您沒有將MailMessage對象傳遞給方法...該IsBodyHtml屬性屬于MailMessage. 那么,您還可以如何以及在哪里設置這樣的值?

在第二種情況下,該方法獲取的唯一值是Send()四個字符串(from、to和)。它不會收到有關電子郵件的任何其他信息。該屬性從未使用過,因為它是 un-used 的一部分。subjectbodyisBodyHTMLMailMessage


查看完整回答
反對 回復 2022-12-31
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

IsBodyHTML因為按照您的方式使用 Send 函數時,沒有指定set 為 true 。我認為IsBodyHTML是在MailMessage對象內。

我不完全確定IsBodyHTMLbody 中設置了什么,但它可能會創建完整格式的 HTML (< html><head><body>etc....),所以不妨試試看。


查看完整回答
反對 回復 2022-12-31
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

在內部對您不起作用的過載看起來或多或少像這樣

MailMessage mailMessage = new MailMessage(from, recipients, subject, body);
Send(mailMessage);

它創建一個 MailMessage 實例,不設置 IsBodyHtml 并調用其他重載。IsBodyHtml 控制用于郵件正文 MimePart 的 MediaType,如果未設置 IsBodyHtml,將使用 PlainText 代替 Html MimePart。設置 IsBodyHtml 不會以任何方式更改 Body 屬性的內容,因此您必須使用 MailMessage 的重載,以便您可以顯式設置 IsBodyHtml。


查看完整回答
反對 回復 2022-12-31
  • 3 回答
  • 0 關注
  • 166 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號