feat: add mail from property to sys setting api

This commit is contained in:
vran 2023-08-27 19:54:27 +08:00
parent 362e9b931c
commit 77be965f41
4 changed files with 21 additions and 11 deletions

View File

@ -9,6 +9,8 @@ public class SystemEmailResponse {
private String username; private String username;
private String mailFrom;
private String smtpHost; private String smtpHost;
private Integer smtpPort; private Integer smtpPort;

View File

@ -13,6 +13,8 @@ public class SystemEmailUpdateRequest {
private String password; private String password;
private String mailFrom;
@NotBlank @NotBlank
private String smtpHost; private String smtpHost;

View File

@ -30,6 +30,7 @@ public class SystemService {
response.setSmtpPort(mail.getSmtpPort()); response.setSmtpPort(mail.getSmtpPort());
response.setUsername(mail.getUsername()); response.setUsername(mail.getUsername());
response.setCreateAt(mail.getCreateAt()); response.setCreateAt(mail.getCreateAt());
response.setMailFrom(mail.getMailFrom());
response.setUseSSL(mail.getUseSsl()); response.setUseSSL(mail.getUseSsl());
return response; return response;
}); });
@ -42,12 +43,12 @@ public class SystemService {
} }
@Transactional @Transactional
public void updateEmailSetting(SystemEmailUpdateRequest request) { public void updateEmailSetting(SystemEmailUpdateRequest request) {
SysMail sysMail = new SysMail(); SysMail sysMail = new SysMail();
sysMail.setSmtpHost(request.getSmtpHost()); sysMail.setSmtpHost(request.getSmtpHost());
sysMail.setSmtpPort(request.getSmtpPort()); sysMail.setSmtpPort(request.getSmtpPort());
sysMail.setUsername(request.getUsername()); sysMail.setUsername(request.getUsername());
sysMail.setMailFrom(request.getMailFrom());
sysMail.setUseSsl(request.getUseSSL()); sysMail.setUseSsl(request.getUseSSL());
Optional<Integer> idOpt = sysMailDao.selectOptionTopOne().map(SysMail::getId); Optional<Integer> idOpt = sysMailDao.selectOptionTopOne().map(SysMail::getId);

View File

@ -2,6 +2,7 @@ package com.databasir.core.infrastructure.mail;
import com.databasir.common.SystemException; import com.databasir.common.SystemException;
import com.databasir.dao.tables.pojos.SysMail; import com.databasir.dao.tables.pojos.SysMail;
import org.apache.commons.lang3.StringUtils;
import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessageHelper;
@ -31,7 +32,11 @@ public class MailSender {
MimeMessage mimeMessage = sender.createMimeMessage(); MimeMessage mimeMessage = sender.createMimeMessage();
try { try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
if (StringUtils.isNotBlank(mail.getMailFrom())) {
helper.setFrom(mail.getMailFrom());
} else {
helper.setFrom(mail.getUsername()); helper.setFrom(mail.getUsername());
}
helper.setTo(to.toArray(new String[0])); helper.setTo(to.toArray(new String[0]));
helper.setSubject(subject); helper.setSubject(subject);
helper.setText(content, true); helper.setText(content, true);