我通过outlook发送了一个html。
在html中,我将一个单词向右对齐,但在收到的电子邮件中,这个单词是混合的 - 第一个字母已成为最后一个字母。
仅当第一个字母是数字时才会出现。
我发送了以下html:
<div dir="rtl" style="margin: 20px auto; width: 650px; text-align: center; font-family: Tahoma;">
<table dir="rtl" style="width: 650px; margin: 0 auto; text-align: right; font-family: Tahoma; font-size: 0; font-weight: normal; color: #000;" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="background-color: #d0f2f6; padding: 15px 20px; margin: 0; color: #135861; font-size: 13px; font-weight: 400;">
שלום
<br /><br />
המספר הוא:<br />
<b dir="rtl" style="font-family:consolas">1fD9xG8j</b>
<br /><br />
</td>
</tr>
</tbody>
</table>
</div>
但我收到了以下邮件:
为什么outlook会将'1fD9xG8j'改为'fD9xG8j1'?
这是发送邮件的c#中的代码:
var smtp = new SmtpClient(SmtpServer);
var message = new MailMessage();
message.Subject = subject.Trim();
message.Body = body.Trim();
message.IsBodyHtml = true;
message.BodyEncoding = Encoding.UTF8;
smtp.Send(message);
答案 0 :(得分:2)
删除dir =&#34; rtl&#34;来自Table标签并尝试。
答案 1 :(得分:1)
我看到,很多时候,Outlook文本编辑器会在源代码中添加代码。发生这种情况是因为Outlook主要使用VML(矢量标记语言)生成电子邮件源代码,这会导致代码更改。有一些加载项可以将干净的HTML源代码导入到Outlook电子邮件中,以便正确显示它。
我尝试使用以下代码解决问题:
<div dir="ltr" style="font-family:consolas;font-weight:bold;text-align:right">1fD9xG8j</div>
我更改了dir =“ltr”,并添加了样式text-align:right, 它的工作原理!