So fügen Sie eine Datei zu einer HTML-E-Mail mithilfe von Apache Commons E-Mail
Ich bin mit Apache Commons E-Mail-1.1 und ich kann nicht herausfinden, wie man eine Datei Anhängen, um eine HtmlEmail. Wenn ich den code unten bekomme ich eine E-Mail mit einer Anlage, aber die HTML-Nachricht kommt über so eine Anlage auch.
Wenn ich nicht telefonisch, E-Mail.attach() die HTML-Nachricht durch gekommen, wie man es erwarten würde, aber ich brauche sowohl die HTML-Nachricht durch zu kommen und die Anlage. Was bin ich?
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();
- Oh.. übrigens, ich war mit gmail als mein test-client.
- Haben Sie versuchen zu zwingen, Inhalt, Art-by-doing E-Mail.setContent(javax.E-mail.internet.MimeMultipart aMimeMultipart)? Es ist wahrscheinlich redundant, aber einen Versuch Wert
- Ich bin mir nicht sicher, ob ich verstehe, was du meinst. Ich dachte, der ganze Punkt von apache commons E-Mail war zu Abstrakt, die Sie aus der MimeMultipart Zeug.
Du musst angemeldet sein, um einen Kommentar abzugeben.
dieser arbeitet mit commons-die E-Mail 1.1.
pdfBytes
sollte einbyte[]
mit den bytes des pdf-Dokuments. Wenn das nicht passt, können Sie versuchen andereDataSource
Implementierungen, aber ich kann nicht garantieren, dass Sie funktionieren würde (obwohl Sie sollte).(Das oben ist
org.apache.commons.mail.ByteArrayDataSource
)Hinweis:
auf eine
HtmlEmail
mit commons-E-Mail-1.1 Ursachen der resultierenden E-Mail-Ihre Nachricht (text oder html) eingeschlossen, wie in der Anlage.Wechsel zu einem
MultiPartEmail
behoben.Schlage ich vor, Sie versuchen, den aktuellen release candidate der v1.2 RC2 als 1.1 (ich vermute, Sie verwenden) hat einige html-layout-Probleme
commons-die E-Mail 1.2 RC2
Ich die HtmlEmail#embed(URL, String) - Methode:
Auf die neueste Version (1.5) den folgenden code war für mich