I am sending bulk emails using amazon ses. My code is given below
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");
}
Here I have given my html content as string to the variable "body".
The mail sent successfully. But I got the html content as email. How to send html content in mail. What changes in the code will solve this issue?
From the Amazon SES developerGuide:
You should use the WithHtml method:
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With