繁体   English   中英

纯文本到 Outlook email 中的 HTML 转换

[英]Plain text to HTML conversion in Outlook email

当我将纯文本 email显示为 C 锐利的虚拟纯文本时,我面临保留纯文本格式的情况。 这是在使用 VSTO 接收 Outlook 2007 期间完成的。 下面的代码没有完成这项工作,而是将正文转换为 Times New Roman;Font Size 10 并将其显示给用户。

string Text = "<html><body><p style=\"font-family:consolas;font-size:88%;\">" + mailItem.Body+ "</p></body></html>";

mailItem.HTMLBody = Text;

mailItem.HTMLBody = Regex.Replace(mailItem.HTMLBody, "(ASA[a-z][a-z][0-9][0-9])", "<a href=\"http://stack.com/eg=$&\">$&</a>");

我该如何解决这个问题?

编辑:

输入:

ASAss87

ASAjj98

这是测试输入

Output:

ASAss87 ASAjj98 这是测试输入

编辑2:

输入:

ASAss87

ASAjj98

this is test input.

Output:

ASAss87

ASAjj98

   this is test input.

*向前移动一到两个空格。 我正在使用标签。

根据您在评论中的反馈,尝试将您的第一行更改为使用Body而不是HTMLBody

string Text = "<html><body><p style=\"font-family:consolas;font-size:88%;\">" + mailItem.Body+ "</p></body></html>";

编辑:由于纯文本包含换行符,也许您应该使用<pre>标记而不是<p > 标记,以防止它将所有内容放在一行上。

string Text = "<html><body><pre style=\"font-family:consolas;font-size:88%;\">" + mailItem.Body+ "</pre></body></html>";

Edit2:或者,您可以用<br>标签替换所有换行符。

string Text = "<html><body><p style=\"font-family:consolas;font-size:88%;\">" + mailItem.Body.Replace(Environment.NewLine,"<BR>") + "</p></body></html>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM