强制邮件客户端通过mailto:使用纯文本而非HTML

3

我正在一个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?

1个回答

4

除了进行教育之外,在客户端上你无法做任何事情——在mailto中没有任何控制客户端程序的内容。而且,随着基于Web的电子邮件的普及,我认为mailto已经显得有些过时了。

Outlook应该发送一个mime/multipart消息,包括纯文本和HTML部分。我猜测你可以扩展或修补Trac来只获取text/plain部分。

否则,只需在您的应用程序中创建一个表单来捕获电子邮件信息即可。同样地,如果有人使用Hotmail或GMail,mailto也不太可能起作用(或者将打开未配置SMTP服务器的Outlook Express,他们会认真地输入一封电子邮件并按下发送按钮。但实际上它不会到达任何地方,因为没有SMTP服务器配置——所以它会在发件箱中徘徊多年。不过,他们也不会注意到这些...)。


是的,这正是我担心的。噢,好吧,还是谢谢你的回答。 - Eric Anastas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接