¿Alguien sabe cómo hacer esto? Obtuve toda la información del correo electrónico (cuerpo, asunto, de, a, cc, bcc) y necesito generar un archivo .eml.Crear un archivo .eml (correo electrónico) en Java
Respuesta
Puede construir el objeto javax.mail.Message
(o ya lo ha construido desde el servidor de correo) y luego puede usar el método writeTo()
para guardarlo en el archivo. Ver JavaMail API para obtener más información.
Los archivos EML son simples archivos de texto. Los encabezados están separados del cuerpo por una línea en blanco. Encabezados aspecto:
From: "DR CLEMENT OKON" <[email protected]>
To: "You" <[email protected]>
Subject: REQUEST FOR URGENT BUSINESS RELATIONSHIP
Date: Tue, 30 Sep 2008 09:42:47 -0400
Para obtener más información, la especificación oficial es RFC 2822. De hecho, no es tan difícil de leer como algunos RFC.
Editar: Cuando dije "texto sin formato", debería haber pensado por un segundo. Realmente quería decir ASCII simple, y no el "ASCII extendido" de 8 bits, solo hasta el carácter 127. Si quieres más de siete bits, necesitas algún tipo de codificación y las cosas se complican.
Al mirar un archivo EML típico, parece un volcado sin formato de la comunicación de texto que se envió al servidor. Por lo tanto, es un archivo de texto que contiene los encabezados y el cuerpo del correo. Para obtener sus archivos adjuntos, vistas diferentes, etc. en el formato correcto dentro del archivo EML, necesita codificar MIME el cuerpo y sus partes.
Puede crear archivos eml con el siguiente código. Funciona bien con Thunderbird y probablemente con otros clientes de correo electrónico:
public static void createMessage(String to, String from, String subject, String body, List<File> attachments) {
try {
Message message = new MimeMessage(Session.getInstance(System.getProperties()));
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
message.setSubject(subject);
// create the message part
MimeBodyPart content = new MimeBodyPart();
// fill message
content.setText(body);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(content);
// add attachments
for(File file : attachments) {
MimeBodyPart attachment = new MimeBodyPart();
DataSource source = new FileDataSource(file);
attachment.setDataHandler(new DataHandler(source));
attachment.setFileName(file.getName());
multipart.addBodyPart(attachment);
}
// integration
message.setContent(multipart);
// store file
message.writeTo(new FileOutputStream(new File("c:/mail.eml")));
} catch (MessagingException ex) {
Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex);
}
}
Para guardar un mensaje html, agregue 'content.setHeader (" Content-Type "," text/html ");' –
- 1. Biblioteca PHP para generar archivos de correo electrónico EML?
- 2. Cargando archivos .eml en javax.mail.Messages
- 3. Cómo envío un archivo adjunto de correo electrónico utilizando el cliente designado, programáticamente desde Java
- 4. Enlace de código HTML dentro de un correo electrónico a un archivo adjunto de correo electrónico
- 5. Cómo adjuntar un archivo a un correo electrónico HTML utilizando Apache Commons Correo electrónico
- 6. crear un buzón de correo electrónico con php, javascript, etc.
- 7. Cómo crear una lista de correo electrónico
- 8. Cómo crear encabezados de correo electrónico personalizados
- 9. Cómo verificar que realmente exista una dirección de correo electrónico enviando un correo electrónico a java
- 10. ¿Puedes vincular un archivo CSS desde un correo electrónico?
- 11. adjuntando un archivo de texto a un correo electrónico
- 12. Adjuntar un solo archivo a un correo electrónico
- 13. Agregar un archivo adjunto a un correo electrónico usando C#
- 14. Cómo adjuntar un archivo a un correo electrónico con PowerShell
- 15. Correo de Java: envío de correo electrónico sin SMTP
- 16. Biblioteca de plantillas de correo electrónico en Java
- 17. extracción de correo electrónico java expresión regular?
- 18. correo electrónico validación de campo de correo
- 19. CSS en el correo electrónico
- 20. ¿Cómo crear una cola de correo electrónico en PHP?
- 21. PHP ¿Enviar correo electrónico con archivo PDF adjunto sin crear el archivo?
- 22. Instalar APK desde un archivo adjunto de correo electrónico
- 23. Cómo enviar un correo electrónico html a outlook desde Java
- 24. enviando un archivo adjunto de correo electrónico usando TCPDF
- 25. Enviar un correo electrónico con archivo adjunto Cliente Agnostic
- 26. Cómo guardar un archivo adjunto de correo electrónico utilizando OpenPop
- 27. Enviar correo electrónico con archivo adjunto mediante aplicación de correo electrónico del cliente
- 28. ¿Adjuntar archivo a un correo electrónico en python conduce a un nombre de archivo en blanco?
- 29. ¿Cómo validar un correo electrónico en PHP?
- 30. MAILTO Enlace en el correo electrónico para iniciar un nuevo correo electrónico
... javax.mail paquete no existe – Supuhstar
@Supuhstar - Antiguo pero para cualquier otra persona que lee esto, esto se basa en la API JavaMail. – berry120