2013-07-03 43 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个复选框在一个单独的行,它应该工作正常。

奇怪的微软思维

相关问题