2012-12-10 4 views
8

amazon ses를 사용하여 대량 전자 메일을 보내고 있습니다. 내 코드가amazon ses를 통해 HTML 전자 메일 보내기

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

아래에 기재되어 있습니다 여기에 변수 ""에 문자열로 내 HTML 콘텐츠를 주었다.

메일이 성공적으로 전송되었습니다. 하지만 html 콘텐츠를 이메일로 받았습니다. 메일에서 html 콘텐츠를 보내는 방법. 코드에서 어떤 변화가이 문제를 해결할 것입니까? Amazon SES developerGuide에서

+0

어떤 형태 수신 된 이메일 볼 않습니다

당신은 WithHtml 방법을 사용해야합니까? "나는 html 콘텐츠를 이메일로 받았습니까?" 어떤 이메일 클라이언트에서 메일을보고 있습니까? – bdares

+0

나는 .....이라는 메일을 받았습니다. 원래의 HTML 코드로 태그가 가득합니다. – Neeraj

+0

어떤 이메일 클라이언트를 사용하고 있습니까? – bdares

답변

26

:

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);   
관련 문제