2017-09-25 8 views
0

メールでJavaでメッセージを生成しようとしています。生成された電子メールはDevとテスト環境で正常に動作しますが、UATはEOLの一部を検出していません。同じメールではほとんど発生しておらず、一部は動作していません。テスト環境のテキストメールエンコーディングで動作しない r nがあります

String genMessage(Suport me) { 
    public String EOL = "\r\n"; 

    StringBuffer sb = new StringBuffer(); 
    sb.append(EOL); 
    sb.append(EOL); 
    sb.append("The item below is now travelling"); 
    sb.append(EOL); 
    sb.append("Reason for the delay: "); 
    sb.append(me.getReason()); 
    sb.append(EOL); 
    sb.append("item Number: " + meBO.getId()); 
    sb.append(EOL); 
    ReferenceBO deliveryNumber = me.getDNumber(); 
    sb.append("Del Number: " + (dNumber != null ? deliveryNumber.getValue() : "")); 
    sb.append(EOL); 
    sb.append(EOL); 
    sb.append("Carrier: " + me.getCarrier() + " - " + me.getCarrierName()); 
    sb.append(EOL); 
    sb.append(EOL); 

    sb.append("Original Delivery Date/Time: E: " + getDate(me.getEarliestDelDatetime()))); 
    sb.append(EOL); 
    sb.append("Original Delivery Date/Time: L: " + getDate(me.getLatestDelDatetime()))); 
    sb.append(EOL); 

    return sb.toString(); 

}メールが生成さ

:電子メールメッセージを取得するためのコードの下に見つけてください

以下今 遅延の理由を走行しているアイテム:車の故障や事故のアイテム番号: 644812デル番号:TEST20170925

キャリア:ABC - ABC EXPRESS、PVT LTD。

オリジナル配達日付/時刻:E:2017年9月27日午前8:00オリジナル配達日/時間:L:2017年9月27日午後5時

だから、ここ第一ライン後も前後キャリア: EOLは動作しているように見えますが、他の場所では動作していないようです。 ご意見はお手伝いします。

+0

あなたはどのオペレーティングシステムを使用していますか?同じものを使用しているUATはありますか?アプリケーションはローカルにインストールされていますか? System.lineSeparator() –

+0

はい、利用可能な情報がすべてWindows 10であるため、System.lineSeparator()を試しました。それでもうまくいきません。 – Puru

+0

潜在的な解決策はここにあります: "各行に3つ以上のスペースをインデントしてください。 これは、Outlookの受信コピーに改行が混乱しないように指示します。それが動作するかどうか私に教えてください。リンク:http://support.xink.io/support/solutions/articles/1000064098-why-is-outlook-stripping-line-breaks-from-plain-text-email –

答えて

0

あなたの解決策@maxBilbowに感謝します。

この問題は、Outlookがフォーマットを変更し、行の変更とスペースが不要であると見なしていることが原因でした。

各行の先頭に3つ以上のスペースを追加すると、問題が解決されました。

public String EOL = "\ r \ n";パブリックString EOL = "\ r \ n";

関連する問題