2012-12-10 28 views
8

Wysyłam masowe wiadomości e-mail za pomocą sesji amazon. Mój kod znajduje się poniżejWysyłanie wiadomości e-mail w formacie HTML za pośrednictwem Amazona

public void sendMail(String sender, LinkedList<String> recipients, String subject, String body) { 
    Destination destination = new Destination(recipients); 
    try { 
     ACCESS_KEY = EmailSender.prop.getProperty("accessKey"); 
     SECRET_KEY = EmailSender.prop.getProperty("secretKey"); 

     Content subjectContent = new Content(subject); 
     Content bodyContent = new Content(body); 
     Body msgBody = new Body(bodyContent); 
     Message msg = new Message(subjectContent, msgBody); 

     SendEmailRequest request = new SendEmailRequest(sender, destination, msg); 

     AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY); 
     AmazonSimpleEmailServiceClient sesClient = new AmazonSimpleEmailServiceClient(credentials); 
     SendEmailResult result = sesClient.sendEmail(request); 

     System.out.println(result + "Email sent"); 
    }catch(Exception e) { 
     System.out.println("Exception from EmailSender.java. Email not send"); 
    } 

Tutaj Dałem zawartości HTML jako ciąg znaków do zmiennej „ciała”.

Wiadomość wysłana pomyślnie. Ale mam treść HTML jako e-mail. Jak wysyłać treści HTML w poczcie. Jakie zmiany w kodzie rozwiążą ten problem?

+0

Co odebranych e-mail wygląda? Co masz na myśli przez "Mam treść HTML jako e-mail"? Z jakiego klienta poczty e-mail oglądasz pocztę? – bdares

+0

Mam mail jako ..... Mam na myśli oryginalny kod HTML pełen tagów – Neeraj

+0

Z jakiego klienta poczty e-mail korzystasz? – bdares

Odpowiedz

26

Z Amazon SES developerGuide:

należy użyć metody WithHtml:

Content subjContent = new Content().withData("Test of Amazon SES"); 
Message msg = new Message().withSubject(subjContent); 

// Include a body in both text and HTML formats 
Content textContent = new Content().withData("Hello - I hope you're having a good day."); 
Content htmlContent = new Content().withData("<h1>Hello - I hope you're having a good day.</h1>"); 
Body body = new Body().withHtml(htmlContent).withText(textContent); 
msg.setBody(body);