¿Alguien tiene un ejemplo de enviar un correo electrónico, con un archivo adjunto, a través de Amazon SES (en Java)?Ejemplo de envío de un correo electrónico con datos adjuntos a través de Amazon en Java
7
A
Respuesta
14
Tal vez un poco tarde, pero se puede utilizar este código (también se necesita el correo de Java):
public class MailSender
{
private Transport AWSTransport;
...
//Initialize transport
private void initAWSTransport() throws MessagingException
{
String keyID = <your key id>
String secretKey = <your secret key>
MailAWSCredentials credentials = new MailAWSCredentials();
credentials.setCredentials(keyID, secretKey);
AmazonSimpleEmailService ses = new AmazonSimpleEmailServiceClient(credentials);
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "aws");
props.setProperty("mail.aws.user", credentials.getAWSAccessKeyId());
props.setProperty("mail.aws.password", credentials.getAWSSecretKey());
AWSsession = Session.getInstance(props);
AWStransport = new AWSJavaMailTransport(AWSsession, null);
AWStransport.connect();
}
public void sendEmail(byte[] attachment)
{
//mail properties
String senderAddress = <Sender address>;
String recipientAddress = <Recipient address>;
String subject = <Mail subject>;
String text = <Your text>;
String mimeTypeOfText = <MIME type of text part>;
String fileMimeType = <MIME type of your attachment>;
String fileName = <Name of attached file>;
initAWSTransport();
try
{
// Create new message
Message msg = new MimeMessage(AWSsession);
msg.setFrom(new InternetAddress(senderAddress));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipientAddress));
msg.setSubject(subject);
//Text part
Multipart multipart = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(text, mimeTypeOfText);
multipart.addBodyPart(messageBodyPart);
//Attachment part
if (attachment != null && attachment.length != 0)
{
messageBodyPart = new MimeBodyPart();
DataSource source = new ByteArrayDataSource(attachment,fileMimeType);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
}
msg.setContent(multipart);
//send message
msg.saveChanges();
AWSTransport.sendMessage(msg, null);
} catch (MessagingException e){...}
}
}
10
Tal vez un poco tarde también. alternativa para enviar correo mediante correo Java y Amazon Raw correo del remitente
public static void sendMail(String subject, String message, byte[] attachement, String fileName, String contentType, String from, String[] to) {
try {
// JavaMail representation of the message
Session s = Session.getInstance(new Properties(), null);
MimeMessage mimeMessage = new MimeMessage(s);
// Sender and recipient
mimeMessage.setFrom(new InternetAddress(from));
for (String toMail : to) {
mimeMessage.addRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(toMail));
}
// Subject
mimeMessage.setSubject(subject);
// Add a MIME part to the message
MimeMultipart mimeBodyPart = new MimeMultipart();
BodyPart part = new MimeBodyPart();
part.setContent(message, MediaType.TEXT_HTML);
mimeBodyPart.addBodyPart(part);
// Add a attachement to the message
part = new MimeBodyPart();
DataSource source = new ByteArrayDataSource(attachement, contentType);
part.setDataHandler(new DataHandler(source));
part.setFileName(fileName);
mimeBodyPart.addBodyPart(part);
mimeMessage.setContent(mimeBodyPart);
// Create Raw message
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
mimeMessage.writeTo(outputStream);
RawMessage rawMessage = new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));
// Credentials
String keyID = "";// <your key id>
String secretKey = "";// <your secret key>
AWSCredentials credentials = new BasicAWSCredentials(keyID, secretKey);
AmazonSimpleEmailServiceClient client = new AmazonSimpleEmailServiceClient(credentials);
// Send Mail
SendRawEmailRequest rawEmailRequest = new SendRawEmailRequest(rawMessage);
rawEmailRequest.setDestinations(Arrays.asList(to));
rawEmailRequest.setSource(from);
client.sendRawEmail(rawEmailRequest);
} catch (IOException | MessagingException e) {
// your Exception
e.printStackTrace();
}
}
3
Al igual que en 2014, algunos de API de Amazon ha cambiado, Aquí es un ejemplo de trabajo:
http://mintylikejava.blogspot.hk/2014/05/example-of-sending-email-with-multipal.html
+0
Trate de evitar las respuestas de solo enlaces; en su lugar, copie el código correspondiente en su respuesta (en caso de que el enlace se rompa). – stkent
Cuestiones relacionadas
- 1. envío de correo electrónico a través de Gmail en .NET
- 2. Envío de correo electrónico a través de java en la cuenta de Gmail con autenticación bidireccional
- 3. Archivos adjuntos de correo electrónico
- 4. Envío de correo electrónico a través del proxy HTTP
- 5. enviando un correo electrónico con varios archivos adjuntos
- 6. ¿Cómo enviar un correo electrónico con archivos adjuntos utilizando SmtpClient.SendAsync?
- 7. Correo de Java: envío de correo electrónico sin SMTP
- 8. Envío de correo electrónico con el archivo adjunto
- 9. adjunto de correo electrónico a través de análisis mime4j
- 10. Enviar correo electrónico HTML a través de C# con SmtpClient
- 11. Android múltiples archivos adjuntos de correo electrónico con la intención
- 12. ¿Cómo enviar archivos adjuntos de correo electrónico?
- 13. Envío de un formulario por correo electrónico
- 14. impedir que Rails registre archivos adjuntos de correo electrónico
- 15. Cómo enviar un correo electrónico con archivos adjuntos en Ir
- 16. envío de mensajes de correo electrónico con el registro de errores a través climatizador
- 17. Envío de correo electrónico HTML en Django
- 18. Envío de correos electrónicos con archivos adjuntos programáticamente en ASP.NET
- 19. C# MailTo con datos adjuntos?
- 20. Varios archivos adjuntos a través de phpmailer
- 21. Apertura de archivos adjuntos de correo electrónico en Android
- 22. Envío por correo electrónico de un PDF creado dinámicamente a través de PHP
- 23. Enfoques de envío de correo electrónico
- 24. Envío de correo electrónico SMTP a través de Django en el entorno de producción
- 25. Envío de correo electrónico SMTP a alta velocidad en .NET
- 26. Envío de correo electrónico utilizando Smtp.mail.microsoftonline.com
- 27. PHP Envío de correo electrónico BCC
- 28. Cómo guardar adjuntos de correo electrónico en C#
- 29. El envío de un correo electrónico El uso Commons-correo electrónico a Gmail
- 30. ¿Cómo me envío por correo electrónico los datos de un script R?
Gracias, esto se ve como lo que estoy buscando. – Jason
No puedo encontrar la clase "MailAWSCredentials" y "AWStransport". Amablemente ayuda –