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 形式发送电子邮件?

4

1 回答 1

4

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

Outlook 应该发送一条mime/multipart带有纯文本和 HTML 部分消息。我猜您可以扩展或修补 Trac 以仅获取该text/plain部分。

否则,只需在您的应用程序中创建一个表单来捕获电子邮件信息。同样,如果有人在使用 Hotmail 或 GMail - mailto 无论如何都不可能工作(或者会打开他们未配置的 Outlook Express,他们会尽职尽责地输入电子邮件并按发送。只是它不会去任何地方,因为没有 SMTP服务器已配置 - 所以它会在发件箱中停滞多年。虽然他们不会注意到......)。

于 2009-08-25T01:56:34.000 回答