Search in sources :

Example 1 with Message

use of com.amazonaws.services.simpleemail.model.Message in project SimianArmy by Netflix.

the class AWSEmailNotifier method sendEmail.

@Override
public void sendEmail(String to, String subject, String body) {
    if (!isValidEmail(to)) {
        LOGGER.error(String.format("The destination email address %s is not valid, no email is sent.", to));
        return;
    }
    if (sesClient == null) {
        String msg = "The email client is not set.";
        LOGGER.error(msg);
        throw new RuntimeException(msg);
    }
    Destination destination = new Destination().withToAddresses(to).withCcAddresses(getCcAddresses(to));
    Content subjectContent = new Content(subject);
    Content bodyContent = new Content();
    Body msgBody = new Body(bodyContent);
    msgBody.setHtml(new Content(body));
    Message msg = new Message(subjectContent, msgBody);
    String sourceAddress = getSourceAddress(to);
    SendEmailRequest request = new SendEmailRequest(sourceAddress, destination, msg);
    request.setReturnPath(sourceAddress);
    LOGGER.debug(String.format("Sending email with subject '%s' to %s", subject, to));
    SendEmailResult result = null;
    try {
        result = sesClient.sendEmail(request);
    } catch (Exception e) {
        throw new RuntimeException(String.format("Failed to send email to %s", to), e);
    }
    LOGGER.info(String.format("Email to %s, result id is %s, subject is %s", to, result.getMessageId(), subject));
}
Also used : Destination(com.amazonaws.services.simpleemail.model.Destination) Message(com.amazonaws.services.simpleemail.model.Message) Content(com.amazonaws.services.simpleemail.model.Content) SendEmailResult(com.amazonaws.services.simpleemail.model.SendEmailResult) Body(com.amazonaws.services.simpleemail.model.Body) SendEmailRequest(com.amazonaws.services.simpleemail.model.SendEmailRequest)

Aggregations

Body (com.amazonaws.services.simpleemail.model.Body)1 Content (com.amazonaws.services.simpleemail.model.Content)1 Destination (com.amazonaws.services.simpleemail.model.Destination)1 Message (com.amazonaws.services.simpleemail.model.Message)1 SendEmailRequest (com.amazonaws.services.simpleemail.model.SendEmailRequest)1 SendEmailResult (com.amazonaws.services.simpleemail.model.SendEmailResult)1