Ich habe Bericht in meiner jsp
Seite und ich schreibe diesen Bericht im PDF-Format. Und ich möchte die PDF als E-Mail mit Anhang senden, aber ich möchte nicht die Datei auf dem lokalen Rechner oder Server speichern, aber ich möchte eine E-Mail mit dem Anhang senden.Senden Sie eine E-Mail mit Anhang mit JAVA Mail-API, ohne auf dem lokalen Rechner zu speichern
Antwort
Sie müssen Ihre eigene Implementierung von javax.activation.DataSource
schreiben, um die Anhangdaten aus einem Speicher zu lesen, anstatt eine der enthaltenen Implementierungen zu verwenden (um von einer Datei, einer URL usw. zu lesen). Wenn Sie den PDF-Bericht in einem Byte-Array haben, können Sie eine DataSource implementieren, die das in einem ByteArrayOutputStream enthaltene Byte-Array zurückgibt.
Wenn Sie Spring's JavaMail API verwenden, können Sie diese Art von Sache ziemlich leicht tun (oder zumindest so einfach wie die JavaMail API erlaubt, was nicht viel ist). So könnte man so etwas schreiben:
JavaMailSenderImpl mailSender = ... instantiate and configure JavaMailSenderImpl here
final byte[] data = .... this holds my PDF data
mailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// set from, to, subject using helper
helper.addAttachment("my.pdf", new ByteArrayResource(data));
}
});
Die Anlagendaten alle Abstraktionen Ressourcen Frühling sein kann, ByteArrayResource
ist nur einer von ihnen.
Beachten Sie, dass dieser Teil der Spring-API eigenständig ist und den Spring-Container nicht benötigt (aber davon profitiert).
Seit Java Mail 1.4 - mail.jar - enthält javax.mail.util.ByteArrayDataSource
- https://javamail.java.net/nonav/docs/api/javax/mail/util/ByteArrayDataSource.html
- (https://javamail.java.net/nonav/docs/api/)
- http://www.oracle.com/technetwork/java/javamail/index-138643.html - Download Standort
Grüße
Danke, das war genau die Information, die ich brauchte. –
- 1. Datenbankverbindung auf dem lokalen Rechner
- 2. E-Mail mit Anhang in PHP senden, ohne die Datei auf Webserver zu speichern
- 3. Datei auf dem lokalen Rechner speichern, der auf dem entfernten Rechner erzeugt wurde?
- 4. swiftmailer und email form mit Anhang - Anfänger
- 5. senden Mail mit Anhang
- 6. Belastungstest C++ - Programm auf dem lokalen Rechner
- 7. Stop Quarz Job auf dem lokalen Rechner
- 8. Email als .MSG in lokalen Ordner mit Powershell speichern
- 9. Senden von E-Mail mit Anhang mit Java
- 10. Senden Sie E-Mail mit Anhang aus dem internen Speicher
- 11. Benötigen Sie Hilfe beim Kopieren einer Datei vom lokalen Rechner zum entfernten Rechner mit Java
- 12. So senden Sie eine E-Mail mit Anhang
- 13. Senden Sie EMail mit asp.net mvc
- 14. Senden von Mail funktioniert auf dem Server, aber nicht auf meinem lokalen Rechner
- 15. Nicht senden von Mails (phpmailer), auf Windows, mit Anhang
- 16. Wie nvd3 Beispiele auf dem lokalen Rechner verwenden
- 17. KafkaProducer vom lokalen Rechner an hortonworks sandbox auf virtualbox senden
- 18. Wie bekomme ich den Standarddruckernamen auf dem lokalen Rechner mit Java Script?
- 19. Senden von Anhang mit Java-Mail funktioniert nicht richtig
- 20. Senden E-Mail mit Anhang ..VBA Code
- 21. unerwarteten Fehler auf gae beim Test auf dem lokalen Rechner
- 22. AzCopy Blob Download werfen Fehler auf dem lokalen Rechner
- 23. So senden Sie wp_mail mit Anhang (Dateipfad in Variable)
- 24. Wie git Repo auf dem privaten Server auf den lokalen Rechner über ssh mit Schlüssel klonen?
- 25. Mail mit Anhang keine HTML-Nachricht senden
- 26. Speichern Sie eine Sitzung auf Formular senden
- 27. IP-Adresse Spoofing/Änderung für Tests auf dem lokalen Rechner
- 28. Senden von HTML-Mail mit Anhang mit Mailutils
- 29. Java Mail mit Anhang: Classcast auf javax.mail.Multipart
- 30. Senden Sie eine E-Mail mit Anhang in R mit Gmail
Könnten Sie die E-Mail mit Anhang senden und dann den lokalen f löschen? ile danach? – weiji