电子邮件中的复选框

本文关键字:复选框 电子邮件 | 更新日期: 2023-09-27 18:20:49

我正在使用c#MailMessage创建一封电子邮件,并试图添加一个不需要单击的复选框。复选框将用于为活动带来什么的检查表(如装箱单)。我有:

MailMessage objEmail = new MailMessage();
objEmail.From = new MailAddress("sender@hotmail.com");
objEmail.To.Add(new MailAddress("example1@hotmail.com"));
objEmail.CC.Add(new MailAddress("example2@hotmail.com"));
objEmail.Bcc.Add(new MailAddress("example3@hotmail.com"));
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.com:在outlook中输出

带什么

我有一辆自行车
我有一辆车


使用Microsoft outlook:在outlook中输出

带什么

[]我有一辆自行车
[]我有一辆车


使用hotmail.com:在outlook中输出

带什么

我有一辆自行车
[]我有一辆汽车

所以问题出在邮件客户端,但问题不一致。有什么方法可以产生一致的输出吗?html有没有一种方法可以创建复选框,或者我只需要包含复选框的图像?提前谢谢。

电子邮件中的复选框

我的猜测是,它们与电子邮件客户端处理复选框的方式不一致。

为什么不将每个都更改为[X],这是纯文本,这样所有电子邮件客户端都可以看到它。

Outlook.com存在在单个父级中显示多个复选框或单选按钮的问题。///等在其中添加一个表,并在单独的行中添加两个复选框,它应该可以正常工作。

奇怪的微软思考

所有电子邮件客户端都有自己的允许规则。您可能会发现,大多数提供商不允许JavaScript,只有一些提供商允许定位元素,而有些提供商则不允许。

你最好的选择是使用纯文本表单,或者使用表单外观的图像。当我说图像时,并不意味着把整个东西都变成图像,每个复选框都有图像。一旦你点击这个表单中的任何地方,它就会在你的网站上打开与它交互。

此外,你真的不应该像现在这样在代码中构建html。将其放在MVC视图或webforms部分中,然后从代码中调用该文件。使用这种方法,您仍然可以将动态数据注入到模板中,同时将HTML放在它所属的位置。