Как отправить вложение + тело сообщения внутри одного письма - PullRequest
0 голосов
/ 28 марта 2019

Я хочу отправить письмо с телом и приложением. Моя проблема заключается в том, чтобы добавить тех, кто использует 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());
        }
    }

Я искал некоторые ответы или советы, но я не уверен, что я использую неправильный подход в исследованиях, или это не так очевидно.

...