2012-12-10 10 views
8

Ich sende Massen-E-Mails mit Amazon ses. Mein Code ist unten angegebenSenden von HTML-E-Mail durch Amazon ses

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"); 
    } 

Hier habe ich meine HTML-Inhalt als String in der Variablen „Körper“ gegeben.

Die E-Mail wurde erfolgreich gesendet. Aber ich habe den HTML-Inhalt als E-Mail bekommen. Wie man HTML-Inhalt in Mail sendet. Welche Änderungen im Code werden dieses Problem lösen?

+0

Was bedeutet die empfangene E-Mail aussehen? Was meinst du mit "Ich habe den HTML-Inhalt als E-Mail"? In welchem ​​E-Mail-Client sehen Sie die E-Mail an? – bdares

+0

Ich habe Mail als ..... Ich meine den ursprünglichen HTML-Code voller Tags – Neeraj

+0

Was E-Mail-Client verwenden Sie? – bdares

Antwort

26

Vom Amazon SES developerGuide:

Sie sollten die WithHtml Methode verwenden:

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);