附件问题(javax.mail)

时间:2018-02-08 17:13:42

标签: java javamail

我有附件问题,当我将这些文件发送到电子邮件xxx@gmail.com时,从gmail应用程序(移动应用程序)显示确切的附件数量但来自Mail(IOS)显示了更多。 我为时间道歉!!非常感谢你

注意:我使用的是java-mail.1.4.4

来自gmail(原生)

enter image description here

来自邮件(IOS)

enter image description here

代码:

 BodyPart messageBodyPart = new MimeBodyPart();
           String htmlText = "HTML code";
             messageBodyPart.setContent(htmlText, "text/html");
             multipart.addBodyPart(messageBodyPart);

            //code for images part ......  //

            //code for attachments
             messageBodyPart = new MimeBodyPart();
                 String pdf = pdf1;
                 DataSource source = new FileDataSource(pdf);
                 messageBodyPart.setDataHandler(new DataHandler(source));
                    messageBodyPart.setFileName(pdf);
                    multipart.addBodyPart(messageBodyPart);

             message.setContent(multipart);                 
                   messageBodyPart = new MimeBodyPart();
                  String xml = xml1;
                 DataSource sourceXml = new FileDataSource(xml);
                 messageBodyPart.setDataHandler(new DataHandler(sourceXml));
                    messageBodyPart.setFileName(xml);
                    multipart.addBodyPart(messageBodyPart);
             message.setContent(multipart);
             Transport.send(message);

1 个答案:

答案 0 :(得分:0)

首先,您使用的是旧版JavaMail。请upgrade if possible

如果您的邮件中的html文字引用了图片,则应create a multipart/related message

如果您希望该消息还包含附件,则需要将多部分/相关内容嵌套在multipart / mixed中,其中multipart / related是第一个正文部分,附件是其他正文部分。