Dla U nwnow powód, zaakceptowana odpowiedź działa częściowo, gdy wysyłam wiadomość e-mail na mój adres gmail. Mam załącznik, ale nie tekst wiadomości e-mail.
Jeśli chcesz zarówno przywiązanie i tekst spróbować tego na podstawie zaakceptowanej odpowiedzi:
Properties props = new java.util.Properties();
props.put("mail.smtp.host", "yourHost");
props.put("mail.smtp.port", "yourHostPort");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
// Session session = Session.getDefaultInstance(props, null);
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user", "password");
}
});
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(mailFrom));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(mailTo));
msg.setSubject("your subject");
Multipart multipart = new MimeMultipart();
MimeBodyPart textBodyPart = new MimeBodyPart();
textBodyPart.setText("your text");
MimeBodyPart attachmentBodyPart= new MimeBodyPart();
DataSource source = new FileDataSource(attachementPath); // ex : "C:\\test.pdf"
attachmentBodyPart.setDataHandler(new DataHandler(source));
attachmentBodyPart.setFileName(fileName); // ex : "test.pdf"
multipart.addBodyPart(textBodyPart); // add the text part
multipart.addBodyPart(attachmentBodyPart); // add the attachement part
msg.setContent(multipart);
Transport.send(msg);
} catch (MessagingException e) {
LOGGER.log(Level.SEVERE,"Error while sending email",e);
}
Musisz być w stanie wyciągnąć pliki w dół z chmury w kodzie. Następnie wystarczy podłączyć je –
Próbka http://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htm –
pomocą tego API: https://sourceforge.net/projects/easymail4j/ –