Skip to content

Commit

Permalink
Merge pull request tmobile#160 from tmobile/notification-changes-1.2
Browse files Browse the repository at this point in the history
Handling from and cc
  • Loading branch information
santhoshigorle committed Mar 12, 2019
2 parents 6d4a173 + 9061b3a commit 1781685
Show file tree
Hide file tree
Showing 3 changed files with 241 additions and 225 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,51 +74,65 @@ public class NotificationController implements Constants
@RequestMapping(value = "/send-plain-text-mail", method = RequestMethod.POST, consumes = "application/json")
public ResponseEntity<Void> sendTextMail(@ApiParam(value = "Provide Mail Message Request Body", required = true) final @RequestBody MailMessageRequestBody mailMessageRequestBody) {
try {
String fromMail = null;
if(StringUtils.isEmpty(fromAddress)){
fromMail = mailMessageRequestBody.getFrom();
}else{
fromMail = fromAddress;
}

log.info("fromAddress==sendMailWithTemplate from config {}",fromAddress);
log.info("mailTemplateRequestBody.getFrom()===sendMailWithTemplate from param {}",mailMessageRequestBody.getFrom());

mailService.prepareAndSendMail(fromMail,
mailService.prepareAndSendMail("",mailMessageRequestBody.getFrom(),
mailMessageRequestBody.getTo(),
mailMessageRequestBody.getSubject(),
mailMessageRequestBody.getMailBodyAsString(),
mailMessageRequestBody.getPlaceholderValues(), mailMessageRequestBody.getAttachmentUrl(), true);
return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception exception) {
log.error(EXE_EMAIL_SEND, exception);
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
try {
log.info("fromAddress==sendMailWithTemplate from catch block from config {}",fromAddress);
log.info("mailTemplateRequestBody.getFrom() from catch block===sendMailWithTemplate from param {}",mailMessageRequestBody.getFrom());

mailService.prepareAndSendMail(mailMessageRequestBody.getFrom(),fromAddress,
mailMessageRequestBody.getTo(),
mailMessageRequestBody.getSubject(),
mailMessageRequestBody.getMailBodyAsString(),
mailMessageRequestBody.getPlaceholderValues(), mailMessageRequestBody.getAttachmentUrl(), true);
return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception e) {
log.error(EXE_EMAIL_SEND, e);
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
}
}
}

@ApiOperation(value = "Send an Email with Template", response = ResponseEntity.class)
@RequestMapping(value = "/send-mail-with-template", method = RequestMethod.POST)
public ResponseEntity<Void> sendMailWithTemplate(@ApiParam(value = "Provide Mail Template Request Body", required = true) final @RequestBody MailTemplateRequestBody mailTemplateRequestBody) {
try {
String fromMail = null;
if(StringUtils.isEmpty(fromAddress)){
fromMail = mailTemplateRequestBody.getFrom();
}else{
fromMail = fromAddress;
}

log.info("fromAddress==sendMailWithTemplate from config {}",fromAddress);
log.info("mailTemplateRequestBody.getFrom()===sendMailWithTemplate from param {}",mailTemplateRequestBody.getFrom());

mailService.prepareAndSendMail(fromMail,
mailService.prepareAndSendMail("",mailTemplateRequestBody.getFrom(),
mailTemplateRequestBody.getTo(),
mailTemplateRequestBody.getSubject(),
mailTemplateRequestBody.getMailBodyAsString(),
mailTemplateRequestBody.getPlaceholderValues(), mailTemplateRequestBody.getAttachmentUrl(), false);
return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception exception) {
log.error(EXE_EMAIL_SEND , exception);
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
try {

log.info("fromAddress in catch block==sendMailWithTemplate from config {}",fromAddress);
log.info("mailTemplateRequestBody.getFrom() in catch block===sendMailWithTemplate from param {}",mailTemplateRequestBody.getFrom());

mailService.prepareAndSendMail(mailTemplateRequestBody.getFrom(),fromAddress,
mailTemplateRequestBody.getTo(),
mailTemplateRequestBody.getSubject(),
mailTemplateRequestBody.getMailBodyAsString(),
mailTemplateRequestBody.getPlaceholderValues(), mailTemplateRequestBody.getAttachmentUrl(), false);
return new ResponseEntity<>(HttpStatus.OK);
} catch (Exception e) {
log.error(EXE_EMAIL_SEND , e);
return new ResponseEntity<>(HttpStatus.FORBIDDEN);
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,25 +62,27 @@ public MailService(JavaMailSender mailSender, MailContentBuilderService mailCont
this.mailContentBuilderService = mailContentBuilderService;
}

public void prepareAndSendMail(String from, List<String> to, String subject, String mailMessageUrlOrBody, Map<String, Object> placeholderValues, final String attachmentUrl, final Boolean isPlainMessage) throws Exception {
log.info("prepareAndSendMail {}",mailSender);
mailSender.send(buildMimeMessagePreparator(from, to, subject, mailMessageUrlOrBody, placeholderValues, attachmentUrl, isPlainMessage));
public void prepareAndSendMail(String cc,String from, List<String> to, String subject, String mailMessageUrlOrBody, Map<String, Object> placeholderValues, final String attachmentUrl, final Boolean isPlainMessage) throws Exception {
mailSender.send(buildMimeMessagePreparator(cc,from, to, subject, mailMessageUrlOrBody, placeholderValues, attachmentUrl, isPlainMessage));
}

public void prepareTemplateAndSendMail(String from, List<String> to, String subject, String mailMessageUrlOrBody, Map<String, Object> placeholderValues, final String attachmentUrl, final Boolean isPlainMessage) throws Exception {
log.info("prepareTemplateAndSendMail {}",mailSender);
mailSender.send(prepareTemplateBuildMimeMessagePreparator(from, to, subject, mailMessageUrlOrBody, placeholderValues, attachmentUrl, isPlainMessage));
}

public void prepareTemplateAndSendMail(String from, List<String> to, String subject, String mailContent , final String attachmentUrl) throws Exception {
log.info("prepareTemplateAndSendMail {}",mailSender);
mailSender.send(buildMimeMessagePreparator(from, to, subject, mailContent, attachmentUrl));
}

private MimeMessagePreparator buildMimeMessagePreparator(String from, List<String> to, String subject, String mailMessageUrlOrBody, Map<String, Object> placeholderValues, final String attachmentUrl, final Boolean isPlainMessage) {
private MimeMessagePreparator buildMimeMessagePreparator(String cc,String from, List<String> to, String subject, String mailMessageUrlOrBody, Map<String, Object> placeholderValues, final String attachmentUrl, final Boolean isPlainMessage) {
MimeMessagePreparator messagePreparator = mimeMessage -> {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
messageHelper.setFrom(from);

if(!StringUtils.isEmpty(cc)){
messageHelper.setCc(cc);
}

String[] toMailList = to.toArray(new String[to.size()]);
messageHelper.setTo(toMailList);
messageHelper.setSubject(subject);
Expand Down
Loading

0 comments on commit 1781685

Please sign in to comment.