mirror of
https://github.com/vran-dev/databasir.git
synced 2025-10-29 11:29:19 +08:00
feat: add mailFrom property to Mail setting (#275)
* feat: add mailFrom field to mail setting * feat: add mail from property to sys setting api * fix: remove username email pattern validation * feat: add mailFrom property to mail setting
This commit is contained in:
@@ -9,6 +9,8 @@ public class SystemEmailResponse {
|
||||
|
||||
private String username;
|
||||
|
||||
private String mailFrom;
|
||||
|
||||
private String smtpHost;
|
||||
|
||||
private Integer smtpPort;
|
||||
|
||||
@@ -8,11 +8,13 @@ import javax.validation.constraints.*;
|
||||
public class SystemEmailUpdateRequest {
|
||||
|
||||
@NotBlank
|
||||
@Email
|
||||
private String username;
|
||||
|
||||
private String password;
|
||||
|
||||
@Email
|
||||
private String mailFrom;
|
||||
|
||||
@NotBlank
|
||||
private String smtpHost;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user