2013-07-03 48 views
1

我正在使用c#MailMessage創建一封電子郵件,我試圖添加一個不需要單擊的複選框。這個複選框將用於一個事件清單(如裝箱單)。我有:電子郵件中的複選框

MailMessage objEmail = new MailMessage(); 
objEmail.From = new MailAddress("[email protected]"); 
objEmail.To.Add(new MailAddress("[email protected]")); 
objEmail.CC.Add(new MailAddress("[email protected]")); 
objEmail.Bcc.Add(new MailAddress("[email protected]")); 

objEmail.Subject = "Packing list!"; 
objEmail.IsBodyHtml = true; 

objEmail.Body = @"<div width=""800px""> 
    <h3>WHAT TO BRING</h3> 
    <form> 
     <input type=""checkbox"" name=""item"" value=""shirt"">Shirt<br> 
     <input type=""checkbox"" name=""item"" value=""shoes"">Shoes 
    </form></div>"; 

但是當我發送電子郵件時,複選框不會出現在列表中。在Outlook

輸出使用outlook.com:

帶來什麼

我有一輛自行車
我有一輛車使用Microsoft Outlook在Outlook


輸出:

什麼TO BRING

[]我有一輛自行車
[]我有一輛車在Outlook


輸出使用hotmail.com:

帶來什麼

我有一輛自行車
[]我有一輛車

所以問題在於郵件客戶端,但問題是什麼不一致。我有什麼辦法可以做出一致的輸出? 有沒有一種方法可以用來創建複選框,或者我只需要包含複選框的圖像? 在此先感謝。

+0

我會說郵件格式與它有關。 –

+0

它如何以純文本的形式到達? – Prix

+1

您的郵件客戶端可能會過濾掉這些控件嗎? – Basuro

回答

1

我的猜測是他們與電子郵件客戶端處理複選框的方式不一致。

爲什麼不將每個都更改爲純文本的[X],以便所有電子郵件客戶端都能看到它。

+0

我可能最終會這樣做。我試圖按照我的老闆爲我設定的格式,但可能無法這樣做。 – Austin

-1

所有的電子郵件客戶端都有自己的規則。您可能會發現大多數提供商不允許使用JavaScript,只有一些允許定位元素,而有些則不允許。

最好的辦法是使用純文本格式或者表單看起來像的圖像。當我說圖像時,並不意味着將整個圖像製作成圖像,而是爲每個複選框設置圖像。一旦你點擊這個表格中的任何地方,它就會在你的網站上打開並與之交互。

此外,你真的不應該像你一樣在你的代碼中構建html。把它放在一個MVC視圖或一個webforms部分中,並從代碼中調用該文件。使用這種方法,您仍然可以將動態數據注入模板,同時將HTML所在的位置放入。

0

Outlook.com存在一個問題,在單個父代中顯示多個檢查或單選按鈕。// /等 在那裏添加一個表,並添加2個複選框在一個單獨的行,它應該工作正常。

奇怪的微軟思維

相關問題