我正在使用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 = "Admin@zedo.com";
to = "abc@zedo.com";
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();
}
}
}
答案 0 :(得分:3)
确保在MIME邮件上将内容设置为“text / html”。
MimeMessage message = new MimeMessage(mailSession);
message.setContent("<h1>Hello world</h1>", "text/html");
答案 1 :(得分:2)
Message.setContent(stringBuilder , "text/html");