Estoy usando Apache Commons Email 1.1 y no puedo encontrar la manera de adjuntar un archivo a un correo electrónico Html. Si ejecuto el código a continuación, recibo un correo electrónico con un archivo adjunto, pero el mensaje HTML también aparece como un archivo adjunto.Cómo adjuntar un archivo a un correo electrónico HTML utilizando Apache Commons Correo electrónico
Si no llamo a email.attach() el mensaje HTML aparece como es de esperar, pero necesito que aparezcan el mensaje HTML y el archivo adjunto. ¿Qué me estoy perdiendo?
HtmlEmail email = new HtmlEmail();
email.setHostName("localhost");
email.addTo("[email protected]", "Test");
email.setFrom("[email protected]", "Test App");
email.setSubject("Test message");
email.setHtmlMsg("<div style='font-size: 20px; color: green;'>This is html email</div>");
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(pdfPath);
attachment.setDisposition(EmailAttachment.ATTACHMENT);
email.attach(attachment);
email.send();
Ah .. por cierto, yo estaba usando Gmail como mi cliente de prueba. – delux247
¿Intentaste forzar el tipo de contenido haciendo email.setContent (javax.mail.internet.MimeMultipart aMimeMultipart)? Probablemente sea redundante, pero vale la pena intentarlo – Bostone
@ droidin-net No estoy seguro de entender lo que quieres decir. Pensé que el objetivo del correo electrónico de apache commons era abstraerte de las cosas de MimeMultipart. – delux247