编程语言
首页 > 编程语言> > c#-强制邮件客户端通过mailto使用文本而不是HTML:

c#-强制邮件客户端通过mailto使用文本而不是HTML:

作者:互联网

我在正在处理的C#项目上使用SubVersion和TRAC,并且我的TRAC系统设置中包含可用于创建故障单的电子邮件地址.在我的程序中,我在程序中添加了一个简单的“反馈”按钮,该按钮将电子邮件发送到该地址.要打开电子邮件,我只是“开始”一个mailto链接,如下所示.

System.Reflection.Assembly assem = System.Reflection.Assembly.GetExecutingAssembly();
string ver = assem.GetName().Version.ToString();
System.Diagnostics.Process.Start("mailto:foo@bar.com?subject=<Provide a title for your feedback here>&body=< Describe the problem you are having or enhancement you would like to suggest here. Please be as descriptive as you can, and if possible list out the actions that will replicate the problem >%0D%0A%0D%0A%0D%0AVersion: "+ver); 

我遇到的问题是,如果用户使用的是Outlook,并且他们的Outlook副本已设置为HTML,则所创建的票证最终会包含一堆我必须清理的HTML代码.有什么方法可以通知正在处理邮件的任何邮件客户端,以文本形式而不是HTML形式发送电子邮件?

解决方法:

在客户端上您无能为力(除了教育)-mailto中没有任何东西可以控制客户端程序.坦率地说,随着基于Web的电子邮件的泛滥-我认为mailto正在显示它的时代.

Outlook应该为send a mime/multipart message,同时包含纯文本和HTML部分.我猜您可以扩展或修补Trac以仅获取文本/纯文本部分.

否则,只需在您的应用程序中创建一个表单即可捕获电子邮件信息.同样,如果某人正在使用Hotmail或GMail,则mailto仍然无法正常工作(或打开未配置的Outlook Express,他们将在其中尽职地键入电子邮件并按Send(发送).只有它不会在任何地方,因为没有SMTP服务器已配置-因此它将在发件箱中失效多年,尽管它们不会注意到…).

标签:trac,mailto,email,html,c
来源: https://codeday.me/bug/20191107/2003073.html