如何在一封电子邮件中发送附件和邮件正文

时间:2019-03-28 14:31:49

标签: android javamail mime-message

我想发送带有正文和附件的电子邮件。我的问题是我添加了使用DataHandler的用户。

我只能设置一个,因此,如果我先放置主体,然后再放置附件,则只有附件会到达。

        try{
            MimeMessage message = new MimeMessage(session);
            DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));
            message.setSender(new InternetAddress(sender));
            message.setSubject(subject);
            message.setContent(body, "text/plain");
            message.setDataHandler(handler);

            MimeBodyPart messageBodyPart = new MimeBodyPart();

            if (absolutePath != null) {
                Multipart multipart = new MimeMultipart();
                messageBodyPart = new MimeBodyPart();
                String file = absolutePath;
                String name = "podpis";
                if (fileName != null) name = fileName;
                name += ".jpg";
                DataSource source = new FileDataSource(file);
                messageBodyPart.setDataHandler(new DataHandler(source));
                messageBodyPart.setFileName(name);
                multipart.addBodyPart(messageBodyPart);
                message.setContent(multipart);
            }

            if (recipients.indexOf(',') > 0)
                message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
            else
                message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
            Transport.send(message);
        }catch(Exception e){
            Log.e("GMAIL SENDER", e.getMessage());
        }
    }

我一直在寻找一些答案或技巧,但不确定是不是我在研究中使用了错误的方法,或者不是很明显。

0 个答案:

没有答案