使用java发送的邮件包含不正确的html符号

使用java发送的邮件包含不正确的html符号,java,html-email,jakarta-mail,Java,Html Email,Jakarta Mail,在我的程序中,我必须使用java发送邮件。程序正确发送邮件,但服务器会自动添加一个标志。结果是收到的电子邮件包含正确的正文,但签名带有html标记 Correct body..... </pre> <html> <i> Sent by me <i> <br> <br> </html> 编辑:我正在尝试插入以下代码: Properties props = new Properties(); props.p

在我的程序中,我必须使用java发送邮件。程序正确发送邮件,但服务器会自动添加一个标志。结果是收到的电子邮件包含正确的正文,但签名带有html标记

Correct body.....
</pre>
<html>
<i>
Sent by me
<i>
<br>
<br>
</html>
编辑:我正在尝试插入以下代码:

Properties props = new Properties();
    props.put("mail." + protocol + ".host", smtpHost);
    props.put("mail." + protocol + ".port", smtpPort);
    Session session = Session.getDefaultInstance(props, null);

    // Construct the message
    Message msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress(user));
    msg.setRecipients(RecipientType.TO, loadAddress());
    msg.setSubject(subject);
    msg.setText(body);

    // Send the message
    props.put("mail." + protocol + ".auth", "false");
    Transport t = session.getTransport(protocol);
    try {
        t.connect();
        t.sendMessage(msg, msg.getAllRecipients());
    } finally {
        t.close();
    }
BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(body);
    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyPart);

    msg.setContent(multipart);
MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setContent(body, "text/html");
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);

    msg.setContent(mp, "text/html");
但结果并没有改变。我创建主体的功能是:

public void setBody(ArrayList<User> users) {

    Calendar c = Calendar.getInstance();
    c.add(Calendar.DATE, -1);
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    String formattedDate = df.format(c.getTime());
    subject = new String("Day " + formattedDate);
    body += "Hi "
        + formattedDate;    
}
public void setBody(ArrayList用户){
Calendar c=Calendar.getInstance();
c、 添加(Calendar.DATE,-1);
SimpleDataFormat df=新的SimpleDataFormat(“dd/MM/yyyy”);
字符串formattedDate=df.format(c.getTime());
主题=新字符串(“日期”+格式化日期);
正文+=“嗨”
+形成日期;
}

有什么想法吗?

试试Message类中的
.setContent(Object o,String s)
方法,将您的主体作为字符串放入Object参数中,并在第二个参数中放入类似“text/html”的内容来定义内容类型。

最后我解决了插入以下代码的问题:

Properties props = new Properties();
    props.put("mail." + protocol + ".host", smtpHost);
    props.put("mail." + protocol + ".port", smtpPort);
    Session session = Session.getDefaultInstance(props, null);

    // Construct the message
    Message msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress(user));
    msg.setRecipients(RecipientType.TO, loadAddress());
    msg.setSubject(subject);
    msg.setText(body);

    // Send the message
    props.put("mail." + protocol + ".auth", "false");
    Transport t = session.getTransport(protocol);
    try {
        t.connect();
        t.sendMessage(msg, msg.getAllRecipients());
    } finally {
        t.close();
    }
BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(body);
    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyPart);

    msg.setContent(multipart);
MimeBodyPart mbp1 = new MimeBodyPart();
    mbp1.setContent(body, "text/html");
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);

    msg.setContent(mp, "text/html");

你试过了吗?你可以参考下面的链接,你能通过你保存尸体的部分吗?我想你不可能联系你邮件服务器的管理员,检查他们是否可以禁用你使用的帐户的签名?不,我不能禁用签名我正在尝试这个解决方案,但结果没有改变