2017-02-15 18 views
2

私はOutlook経由でhtmlを送信しました。c#outlook 2013経由で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;"> 
      שלום&nbsp; 
      <br /><br /> 
      המספר הוא:<br /> 
      <b dir="rtl" style="font-family:consolas">1fD9xG8j</b> 
      <br /><br /> 
     </td> 
     </tr> 
    </tbody> 
    </table> 
</div> 

をしかし、私は次のメールだ:なぜ、見通しは 'fD9xG8j1' に単語 '1fD9xG8j' を変えるん

you can see the received mail here

を?

これは、メールを送ったの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

http://stackoverflow.com/questions/26614474/when-line-of-text-starts-with-a-number-a-number-shows-up-on-right-in-rtl-mode – jtmnt

答えて

2

は、テーブルタグからDIR = "RTL" を削除してみてください。

+0

偶数dir = "rtl"なしでは、それでもまだ乱雑です。 – Efrat

1

私はOutlookのテキストエディタがソースコードにコードを追加していることが何度も分かりました。これは、Outlookでコードの変更を引き起こすVML(Vector Markup Language)のほとんどを使用して電子メールソースコードを生成するためです。クリーンなHTMLソースコードをOutlook電子メールにインポートするためのアドインがあり、正しく表示されるようになっています。

は、私は次のコードで問題を回避しようとした:私はDIR = "LTR" に変更

<div dir="ltr" style="font-family:consolas;font-weight:bold;text-align:right">1fD9xG8j</div>

、およびスタイルのテキスト整列を追加しました:右、 、それが動作します!

関連する問題