网站建设公司i,wordpress 内涵段子,网址导航浏览器大全,微信小程序是什么意思?有什么用继上一篇文章《阿里云ECS服务器无法发送邮件问题解决方案》之后#xff0c;又发现登录的时候发送邮件中的时间和自己windows上的时间不一样#xff0c;大概找了一下原因#xff0c;是LocaDateTime使用的时区不一样导致的远程服务器和本机时间不一致。
只需要在LocaDateTime…继上一篇文章《阿里云ECS服务器无法发送邮件问题解决方案》之后又发现登录的时候发送邮件中的时间和自己windows上的时间不一样大概找了一下原因是LocaDateTime使用的时区不一样导致的远程服务器和本机时间不一致。
只需要在LocaDateTime.now()方法中传一个参数这个参数的类型为ZoneId表示时区ID。于是对原有的代码再次修改
// 3、邮件通知
if (emailProperties.isEnable()) {new Thread(() - {// 定义日期格式DateTimeFormatter formatter DateTimeFormatter.ofPattern(yyyy年MM月dd日 HH:mm:ss);MimeMessage message javaMailSender.createMimeMessage();MimeMessageHelper helper new MimeMessageHelper(message);try {String text 您的账号 username 在广州登录了。 [ LocalDateTime.now(ZoneId.of(systemSettingsProperties.getZoneId())).format(formatter) ];helper.setFrom(emailProperties.getFrom());helper.setTo(emailProperties.getTo());helper.setText(text);javaMailSender.send(message);} catch (MessagingException e) {e.printStackTrace();}}).start();
}
ZoneId.of(systemSettingsProperties.getZoneId())这行代码通过ZoneId的静态方法of()创建了一个ZoneId对象参数指定了时区ID文章中使用的时区ID为Asia/Shanghai
# 系统设置
system:settings:# 时区IDzone-id: Asia/Shanghai# 是否开启登录日志login-log: false# 是否开启鉴权authorization: true
SystemSettingsProperties类用于读取配置信息可以通过配置文件动态设置这个时区ID。
package cn.edu.sgu.www.mhxysy.property;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;/*** author heyunlin* version 1.0*/
Data
Component
ConfigurationProperties(prefix system.settings)
public class SystemSettingsProperties {/*** 是否开启鉴权*/private boolean authorization;/*** 是否开启日志*/private boolean loginLog;/*** 时区ID*/private String zoneId;
}