我将以下代码片段添加到我的经理类中,但是,在发送电子邮件时,它需要服务器日期时间。服务器位于不同的国家/地区,而我们正在向德国客户发送电子邮件。
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;
您不能也不应该本地化
Date
标头(以及与邮件相关的 RFC 标准中指定的其他日期标头)。其格式由互联网标准RFC 5322指定。具体见第 3.3 节。日期和时间规范。
以区域设置特定格式显示此类日期是收件人邮件客户端根据其当前设置的责任,而不是发件人的责任。