[英]Sending email to a user
我正在使用此代碼發送電子郵件
var message = new MailMessage("abc@somedomain.com", "administrator@anotherdomain.com");
message.Subject = "Testing";
message.IsBodyHtml = true;
message.Body = "<html><body>IMAGINE A LOT OF HTML CODING HERE</body></html>";
問題是我只是復制了我想要作為電子郵件發送的HTML,現在我必須在一行中制作整個HTML代碼! 否則就是說“;” 失蹤! 我的意思是,現在我不能繼續刪除空格並把它全部放在一行! 這是我需要發送的HTML代碼太多了。 我該怎么辦 ? :/
[編輯]另一個問題:這條message.Body
是否有限制message.Body
? 就像限制HTML可以插入多少?
Dan提供了一個選項 - 逐字字符串文字 - 但我想建議您將數據移動到單獨的HTML文件中。 將它作為資源嵌入到程序集中,然后可以在執行時加載它。
通過這種方式,您將獲得HTML語法突出顯示,您不會使用大量數據混亂您的代碼,並且您可以隨時輕松地編輯它,而不必擔心雙引號(這需要是雙引號)在逐字字符串文字中加倍,或在常規字符串文字中使用反斜杠進行轉義)。
缺點是將用戶數據放在HTML中變得更加困難 - 為此,您可能需要考慮使用模板系統; 要么只是手寫( html = html.Replace("$user", name)
),要么是可用的各種模板庫之一。 當然,在適當的時候小心使用HTML轉義。
你可以使用@
字符:
message.Body = @"
<html>
<body>
IMAGINE A LOT OF HTML CODING HERE
</body>
</html>";
如果您有一個小的HTML標記/想要一個快速而骯臟的解決方案,這可以正常工作。 對於生產代碼,我建議您使用Jon Skeet建議的內容,保留單獨的HTML文件。
回答你的第二個問題:
“Body屬性可以包含任何大小不超過4 MB的對象”
來自http://msdn.microsoft.com/en-us/library/system.messaging.message.body.aspx
把文字放到多行?
message.Body = "<html><body>IMAGINE A LOT OF "+
" HTML CODING HERE</body></html>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.