java – 发送附件时不显示正文消息

前端之家收集整理的这篇文章主要介绍了java – 发送附件时不显示正文消息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我发送附件时,我在电子邮件中看不到正文消息(message.setText(this.getEmailBody());).
如果没有附件,电子邮件显示正文消息.电子邮件将发送到Gmail帐户.任何线索为什么会发生这种情况?
MimeMessage message = new MimeMessage(session_m);    
        message.setFrom(new InternetAddress(this.getEmailSender()));
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(this.getEmailRecipient()));
        message.setSubject(this.getEmailSubject());
        message.setText(this.getEmailBody()); //This won't be displayed if set attachments

        Multipart multipart = new MimeMultipart();

        for(String file: getAttachmentNameList()){
            MimeBodyPart messageBodyPart = new MimeBodyPart();
            messageBodyPart.attachFile(this.attachmentsDir.concat(file.trim()));
            multipart.addBodyPart(messageBodyPart);

            message.setContent(multipart);
        }


        Transport.send(message);
        System.out.println("Email has been sent");

解决方法@H_502_7@
您需要使用以下内容
// Create the message part
        BodyPart messageBodyPart = new MimeBodyPart();
        // Fill the message
        messageBodyPart.setText(body);
        messageBodyPart.setContent(body,"text/html");

        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(messageBodyPart);
         //Add the bodypart for the attachment(s)
        // Send the complete message parts
        message.setContent(multipart); //message is of type - MimeMessage

猜你在找的Java相关文章