Mam raport na mojej stronie jsp
i piszę ten raport w formacie PDF. I chcę wysłać plik PDF jako wiadomość e-mail z załącznikiem, ale nie chcę przechowywać pliku na komputerze lokalnym lub serwerze, ale chcę wysłać wiadomość e-mail z załącznikiem.Wysyłaj wiadomość e-mail z załącznikiem, używając interfejsu API JAVA Mail bez zapisywania w lokalnej maszynie
Odpowiedz
Musisz napisać własną implementację javax.activation.DataSource
, aby odczytać dane załączników z pamięci, zamiast korzystać z jednej z dołączonych implementacji (do odczytu z pliku, adresu URL itp.). Jeśli masz raport PDF w tablicy bajtów, możesz zaimplementować DataSource, które zwraca tablicę bajtów owiniętą w ByteArrayOutputStream.
Jeśli używasz Spring's JavaMail API, możesz to zrobić dość łatwo (lub przynajmniej tak łatwo, jak zezwala na to API JavaMail, co nie jest zbyt duże). Więc można napisać coś takiego:
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));
}
});
Dane mocujące mogą być dowolne abstrakcji Zasobów sprężyny, ByteArrayResource
jest tylko jednym z nich.
Należy zauważyć, że ta część interfejsu API Spring jest samodzielna, nie wymaga (ale korzysta z) kontenera Spring.
Od JavaMail 1.4 - mail.jar - zawiera 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 - pobieranie lokalizacja
pozdrowienia
Dzięki, to była dokładnie ta informacja, której potrzebowałem. –
- 1. Terminal Mac Wysyłaj e-mail z załącznikiem
- 2. Aplikacja na Androida do wysyłania wiadomości e-mail z załącznikiem przy użyciu interfejsu Java Mail API
- 3. Android: Wysyłaj e-mail z załącznikiem automatycznie w tle.
- 4. Wysyłaj wiadomości e-mail z załącznikiem z pamięci wewnętrznej.
- 5. Jak wysłać wiadomość e-mail z załącznikiem za pomocą interfejsu API systemu Windows Phone 7?
- 6. Jak wysłać wiadomość e-mail z załącznikiem w wordpress?
- 7. Wyślij mail z załącznikiem
- 8. Mailgun Wysłane mail Z załącznikiem
- 9. Wysyłanie wiadomości e-mail z załącznikiem za pomocą interfejsu API javamail
- 10. Wysyłaj wiadomości e-mail przez SMTP z załącznikiem, zwykły tekst i tekst/hml
- 11. swiftmailer i formularz email z załącznikiem - beginner
- 12. Wysyłaj wiadomości e-mail w systemie Android bez interakcji użytkownika
- 13. Wyślij wiadomość e-mail z załącznikiem w języku R za pomocą Gmaila
- 14. Android Intent: Wyślij e-mail z załącznikiem
- 15. wysyłaj dynamicznie generowany plik jako wiadomość e-mail
- 16. Wysyłaj wiadomości e-mail w bezpieczny sposób
- 17. DynamoDB tworzenie tabel w lokalnej maszynie
- 18. Jak wysłać wiadomość e-mail z załącznikiem .csv za pomocą Pythona
- 19. Jak wysłać wiadomość e-mail z załącznikiem do pliku w Androidzie
- 20. Wyślij wiadomość e-mail z załącznikiem z aplikacji Kivy na Androida, najlepiej otwierając klienta poczty e-mail
- 21. Wysyłanie wiadomości e-mail asynchronicznie z załącznikiem w Django
- 22. Wysyłaj pocztę bez MFMailComposeViewController
- 23. Poszukuję biblioteki/interfejsu API języka Java do implementacji komunikatów WS-Security dla SOAP z załącznikiem (SwA)
- 24. Wyślij wiadomość e-mail z załącznikiem w Rails 3.0 za pomocą ActionMailera :: Baza w jednym lub dwóch wierszach
- 25. Problem z załącznikiem e-mail do pliku binarnego
- 26. Jak wysłać wiadomość e-mail z załącznikiem za pomocą aplikacji GmailSender w Androidzie
- 27. Wysyłaj wiadomość e-mail w załączniku do pliku PDF jako strumień
- 28. iOS nie używając [email protected]
- 29. Obsługa żądań https bez bramy interfejsu API
- 30. Tworzenie aplikacji bez interfejsu na maszynie programistycznej z asp.net
Czy możesz wysłać wiadomość e-mail z załącznikiem, a następnie usunąć lokalne f ile później? – weiji