2016-06-22 12 views
0

私はレポートをフォーマットして、以下のような文字列でそれを保存している。..の書式文字列とEMAIL

enter image description here

は、私は、このコンテンツののjavax.mailを使用して電子メールを送信しようとしています。しかし、文字列が乱れてしまい、メールを受け取ったときにこのように見えません。

には、上記と同じ方法で文字列を持ち、電子メールを受け取る方法があります。

私は電子メールを送信するために使用する電子メールコンポーネントです。 enter image description here

messageBodyには文字列が含まれています。

MimeMessage mimeMessage = new MimeMessage(session); 

    //set from, recipient, subject ... 

    //wrapper 
    final MimeBodyPart wrap = new MimeBodyPart(); 

    //Text 
    MimeMultipart cover = new MimeMultipart("alternative"); 
    BodyPart textPart = new MimeBodyPart(); 
    textPart.setContent(messageBody, "text/plain; charset=utf-8"); 
    textPart.setDisposition(Part.INLINE); 
    cover.addBodyPart(textPart); 

    //HTML 
    BodyPart htmlPart = new MimeBodyPart(); 
    htmlPart.setContent(messageBodyHtml, "text/html; charset=utf-8"); 
    htmlPart.setDisposition(Part.INLINE); 
    cover.addBodyPart(htmlPart); 

    wrap.setContent(cover); 

    MimeMultipart content = new MimeMultipart("related"); 
    mimeMessage.setContent(content); 
    content.addBodyPart(wrap); 

は、メールはまだのためのテキスト部分が含まれています。これは、サンプルは、HTMLメールを作成する方法をされて

enter image description here

+0

を使用すると、文字列でメールを送信するコードを共有してください。 – Compass

+2

混乱したメールはどのように見えますか? – andy

+0

FYI、実際のコードを貼り付けた方がスクリーンショットではなく、コードの方が好きです。これにより、コードのテストや変更が簡単になります。あなたのASCIIテーブルについては、スクリーンショットが問題ないと思います。 – DavidS

答えて

0

あなたはこのようなあなたのmessageBody変更することができます:

messageBody = "<font face=\"courier new\" size=\"10px\">" + messageBody + "</font></p>"; 
message.setText(messageBody); 
0

台無し報告書は次のようになります... htmlメールを無効にした人変数messageBodyHtmlには、レポートテーブルのhtmlコードが含まれています。これは次のようになります。

<table> 
     <tr><th>NAME</th><th>GENDER</th>...</tr> 
     <tr><td>Eddy</td><td>Male</td>...</tr> 
     . 
     . 
     . 
    </table> 

これが役に立ちます。