Tengo un informe en mi página jsp
y estoy escribiendo ese informe en formato PDF. Y deseo enviar el PDF como correo electrónico con datos adjuntos, pero no quiero almacenar el archivo en el equipo o servidor local, pero quiero enviar un correo electrónico con el archivo adjunto.Enviar un correo electrónico con un archivo adjunto utilizando la API JAVA Mail sin almacenarlo en el equipo local
Respuesta
Debe escribir su propia implementación de javax.activation.DataSource
para leer los datos adjuntos de una memoria en lugar de usar una de las implementaciones incluidas (para leer desde un archivo, una URL, etc.). Si tiene el informe PDF en una matriz de bytes, puede implementar un DataSource que devuelve la matriz de bytes ajustada en ByteArrayOutputStream.
Si usa Spring's JavaMail API, puede hacer este tipo de cosas con bastante facilidad (o al menos, tan fácilmente como lo permita la API de JavaMail, que no es mucho). Por lo que podría escribir algo como esto:
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));
}
});
Los datos del archivo adjunto puede ser cualquiera de las abstracciones de recursos de la primavera, ByteArrayResource
es sólo uno de ellos.
Tenga en cuenta que esta parte de Spring API se sostiene por sí misma, no requiere (pero se beneficia) del contenedor Spring.
Desde JavaMail 1.4 - mail.jar - contiene 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 - Ubicación de descarga
respecto
Gracias, esta era precisamente la información que necesitaba. –
- 1. enviar correo electrónico con el archivo adjunto en PDF
- 2. Enviar un correo electrónico con archivo adjunto Cliente Agnostic
- 3. ¿Cómo enviar un correo electrónico con un archivo adjunto con la API de Windows Phone 7?
- 4. enviar correo electrónico con archivo adjunto en php sin guardar el archivo en el servidor web
- 5. Cómo guardar un archivo adjunto de correo electrónico utilizando OpenPop
- 6. Intento de correo electrónico de Android sin enviar archivo adjunto
- 7. Cómo enviar un correo electrónico con un archivo adjunto en Android
- 8. Cómo envío un archivo adjunto de correo electrónico utilizando el cliente designado, programáticamente desde Java
- 9. Envío de correo electrónico con el archivo adjunto
- 10. cómo enviar un correo electrónico con un archivo adjunto en vb.net? ?
- 11. Enviar correo electrónico con archivo adjunto en Ruby
- 12. ¿Cómo enviar un correo electrónico con archivos adjuntos utilizando SmtpClient.SendAsync?
- 13. Alternativas a la API de Java Mail
- 14. PHP ¿Enviar correo electrónico con archivo PDF adjunto sin crear el archivo?
- 15. ¿Cómo enviar un correo electrónico con un archivo adjunto en wordpress?
- 16. Correo electrónico PDF Adjunto con PHP utilizando FPDF
- 17. Cómo enviar un correo electrónico con un archivo adjunto usando GmailSender en android
- 18. Enviar correo electrónico con archivo adjunto mediante aplicación de correo electrónico del cliente
- 19. cómo enviar un correo electrónico a través de mailx con el archivo adjunto
- 20. ¿Cómo enviar por correo electrónico un archivo Django FileField como un archivo adjunto?
- 21. Agregar un archivo adjunto a un correo electrónico usando C#
- 22. ¿Cómo envío el conjunto de resultados de una consulta como un archivo adjunto en un correo electrónico utilizando SSIS?
- 23. Enviar un correo electrónico utilizando la secuencia de comandos python
- 24. enviando un archivo adjunto de correo electrónico usando TCPDF
- 25. descargar adjunto de correo con Java
- 26. Enviar correo electrónico en PDF adjunto como secuencia
- 27. Cómo adjuntar un archivo a un correo electrónico HTML utilizando Apache Commons Correo electrónico
- 28. Enviar correo electrónico con una plantilla utilizando php
- 29. Enlace de código HTML dentro de un correo electrónico a un archivo adjunto de correo electrónico
- 30. Cómo enviar un correo electrónico con archivos adjuntos en Ir
¿Podría enviar el correo electrónico con el archivo adjunto y luego eliminar el archivo local f ile luego? – weiji