I added the below snippet to my manager class, however, when sending the email, it takes the server datetime. The server is in a different country whereas we are sending email to German customers. Any suggestions would be helpful! Thank you!
<code> SMTPMessage emailMessage = new SMTPMessage(outboundEmailHandler.getSession());
// Set the Date header to German or UK date format depending on template code
if(emailTemplate.getTemplateCd().contains("_DE")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.GERMAN); //April 8 2024 = Mo., 08 Apr 2024 14:30:45 GMT+00:00
emailMessage.setHeader("Date", dateFormat.format(new Date()));
} else if(emailTemplate.getTemplateCd().contains("_UK")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.UK); //April 8 2024 = Mon, 08 Apr 2024 14:30:45 GMT
emailMessage.setHeader("Date", dateFormat.format(new Date()));
}
// #4 build the Sender Content from the template from Address data
emailMessage = buildSenderContent(emailMessage,emailTemplate.getFromAddress(), emailTemplate.getReturnPath());
// #5 Set recipient, subject, and return (envelopeFrom) fields
emailMessage.setRecipients(Message.RecipientType.TO,emailAddress);
emailMessage.setSubject(emailTemplate.getSubject());
emailMessage.setEnvelopeFrom(emailTemplate.getReturnPath());
// #6 Set the body text, don't set characterset of plain/text as it is unsupported
bodyPartText.setText(emailTemplate.getEmailText());
multiPart.addBodyPart(bodyPartText);
// #7 If we have HTML formatted text, set character set defaults and add it to the multiPart
if (!(StringUtils.isBlank(emailTemplate.getEmailHtml()))) {
bodyPartHTML.setContent(emailTemplate.getEmailHtml(), CustomerNotificationsConstants.HTML_CONTENT_CHARACTERSET);
multiPart.addBodyPart(bodyPartHTML);
}
// #8 if we have an attachment, add that s well
if (!(StringUtils.isBlank(attachment))) {
multiPart.addBodyPart(createAttachmentBodyPart(attachment));
}
// #9 Set the final content we've built for the multi part message
emailMessage.setContent(multiPart);
return emailMessage;
</code>
<code> SMTPMessage emailMessage = new SMTPMessage(outboundEmailHandler.getSession());
// Set the Date header to German or UK date format depending on template code
if(emailTemplate.getTemplateCd().contains("_DE")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.GERMAN); //April 8 2024 = Mo., 08 Apr 2024 14:30:45 GMT+00:00
emailMessage.setHeader("Date", dateFormat.format(new Date()));
} else if(emailTemplate.getTemplateCd().contains("_UK")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.UK); //April 8 2024 = Mon, 08 Apr 2024 14:30:45 GMT
emailMessage.setHeader("Date", dateFormat.format(new Date()));
}
// #4 build the Sender Content from the template from Address data
emailMessage = buildSenderContent(emailMessage,emailTemplate.getFromAddress(), emailTemplate.getReturnPath());
// #5 Set recipient, subject, and return (envelopeFrom) fields
emailMessage.setRecipients(Message.RecipientType.TO,emailAddress);
emailMessage.setSubject(emailTemplate.getSubject());
emailMessage.setEnvelopeFrom(emailTemplate.getReturnPath());
// #6 Set the body text, don't set characterset of plain/text as it is unsupported
bodyPartText.setText(emailTemplate.getEmailText());
multiPart.addBodyPart(bodyPartText);
// #7 If we have HTML formatted text, set character set defaults and add it to the multiPart
if (!(StringUtils.isBlank(emailTemplate.getEmailHtml()))) {
bodyPartHTML.setContent(emailTemplate.getEmailHtml(), CustomerNotificationsConstants.HTML_CONTENT_CHARACTERSET);
multiPart.addBodyPart(bodyPartHTML);
}
// #8 if we have an attachment, add that s well
if (!(StringUtils.isBlank(attachment))) {
multiPart.addBodyPart(createAttachmentBodyPart(attachment));
}
// #9 Set the final content we've built for the multi part message
emailMessage.setContent(multiPart);
return emailMessage;
</code>
SMTPMessage emailMessage = new SMTPMessage(outboundEmailHandler.getSession());
// Set the Date header to German or UK date format depending on template code
if(emailTemplate.getTemplateCd().contains("_DE")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.GERMAN); //April 8 2024 = Mo., 08 Apr 2024 14:30:45 GMT+00:00
emailMessage.setHeader("Date", dateFormat.format(new Date()));
} else if(emailTemplate.getTemplateCd().contains("_UK")) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.UK); //April 8 2024 = Mon, 08 Apr 2024 14:30:45 GMT
emailMessage.setHeader("Date", dateFormat.format(new Date()));
}
// #4 build the Sender Content from the template from Address data
emailMessage = buildSenderContent(emailMessage,emailTemplate.getFromAddress(), emailTemplate.getReturnPath());
// #5 Set recipient, subject, and return (envelopeFrom) fields
emailMessage.setRecipients(Message.RecipientType.TO,emailAddress);
emailMessage.setSubject(emailTemplate.getSubject());
emailMessage.setEnvelopeFrom(emailTemplate.getReturnPath());
// #6 Set the body text, don't set characterset of plain/text as it is unsupported
bodyPartText.setText(emailTemplate.getEmailText());
multiPart.addBodyPart(bodyPartText);
// #7 If we have HTML formatted text, set character set defaults and add it to the multiPart
if (!(StringUtils.isBlank(emailTemplate.getEmailHtml()))) {
bodyPartHTML.setContent(emailTemplate.getEmailHtml(), CustomerNotificationsConstants.HTML_CONTENT_CHARACTERSET);
multiPart.addBodyPart(bodyPartHTML);
}
// #8 if we have an attachment, add that s well
if (!(StringUtils.isBlank(attachment))) {
multiPart.addBodyPart(createAttachmentBodyPart(attachment));
}
// #9 Set the final content we've built for the multi part message
emailMessage.setContent(multiPart);
return emailMessage;