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 mailFrom;
private String smtpHost;
private Integer smtpPort;

View File

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

View File

@ -24,15 +24,16 @@ public class SystemService {
public Optional<SystemEmailResponse> getEmailSetting() {
return sysMailDao.selectOptionTopOne()
.map(mail -> {
SystemEmailResponse response = new SystemEmailResponse();
response.setSmtpHost(mail.getSmtpHost());
response.setSmtpPort(mail.getSmtpPort());
response.setUsername(mail.getUsername());
response.setCreateAt(mail.getCreateAt());
response.setUseSSL(mail.getUseSsl());
return response;
});
.map(mail -> {
SystemEmailResponse response = new SystemEmailResponse();
response.setSmtpHost(mail.getSmtpHost());
response.setSmtpPort(mail.getSmtpPort());
response.setUsername(mail.getUsername());
response.setCreateAt(mail.getCreateAt());
response.setMailFrom(mail.getMailFrom());
response.setUseSSL(mail.getUseSsl());
return response;
});
}
public void deleteSystemEmail() {
@ -42,12 +43,12 @@ public class SystemService {
}
@Transactional
public void updateEmailSetting(SystemEmailUpdateRequest request) {
SysMail sysMail = new SysMail();
sysMail.setSmtpHost(request.getSmtpHost());
sysMail.setSmtpPort(request.getSmtpPort());
sysMail.setUsername(request.getUsername());
sysMail.setMailFrom(request.getMailFrom());
sysMail.setUseSsl(request.getUseSSL());
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.dao.tables.pojos.SysMail;
import org.apache.commons.lang3.StringUtils;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
@ -31,7 +32,11 @@ public class MailSender {
MimeMessage mimeMessage = sender.createMimeMessage();
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom(mail.getUsername());
if (StringUtils.isNotBlank(mail.getMailFrom())) {
helper.setFrom(mail.getMailFrom());
} else {
helper.setFrom(mail.getUsername());
}
helper.setTo(to.toArray(new String[0]));
helper.setSubject(subject);
helper.setText(content, true);