2012-04-24 56 views
0

我送使用Java這樣的電子郵件:無法獲取Java郵件格式正確

StringBuilder stringBuilder=new StringBuilder("<p>Priority:"+escalationDTO.getEscalationPriority()+"</p><br/><p>Status="+escalationDTO.getEscalationStatus()+"</p><br/><p>Type="+escalationDTO.getEscalationType()+"</p><br/><p>Description="+escalationDTO.getEscalationDescription()+"</p><br/><p>StartDate="+new Date(new java.util.Date().getTime())+"</p><br/><p>EndDate="+sqldate1+"</p>" ); 

但輸出我在郵箱中得到如下:

<p>Priority:P1</p><br/><p>Status=closed</p><br/><p>Type=C</p><br/><p>Description=werrwe</p><br/><p>StartDate=2012-04-24</p><br/><p>EndDate=2010-08-09</p> 

我不希望HTML標籤出現在電子郵件中。每個<p>元素都應該導致換行。

這是我的郵件類:

package helper; 

/** 
* Created by IntelliJ IDEA. 
* User: Milind 
* Date: 4/24/12 
* Time: 4:05 PM 
* To change this template use File | Settings | File Templates. 
*/ 

import java.util.Properties; 

import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.Message.RecipientType; 
import javax.mail.internet.AddressException; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

public class SendMail { 

    private String from; 
    private String to; 
    private String subject; 
    private String text; 

    public SendMail(String subject1,String body) { 
     from = "[email protected]"; 
     to = "[email protected]"; 
     subject = subject1; 
     text = body; 
     System.out.println(subject); 
    } 

    public void send(){ 

     Properties props = new Properties(); 
     props.put("mail.smtp.host", "smtp.bb.zedo.com"); 
     props.put("mail.smtp.port", "25"); 

     Session mailSession = Session.getDefaultInstance(props); 
     Message simpleMessage = new MimeMessage(mailSession); 

     InternetAddress fromAddress = null; 
     InternetAddress toAddress = null; 
     try { 
      fromAddress = new InternetAddress(from); 
      toAddress = new InternetAddress(to); 
     } catch (AddressException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     try { 
      simpleMessage.setFrom(fromAddress); 
      simpleMessage.setRecipient(RecipientType.TO, toAddress); 
      simpleMessage.setSubject(subject); 
      simpleMessage.setText(text); 
      Transport.send(simpleMessage); 

     } catch (MessagingException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

回答

2
Message.setContent(stringBuilder , "text/html"); 
3

確保您設置的內容在您的MIME消息 「text/html的」。

MimeMessage message = new MimeMessage(mailSession); 
message.setContent("<h1>Hello world</h1>", "text/html");