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:
parent
421ebc8005
commit
2d927dae22
|
@ -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;
|
||||||
|
|
|
@ -8,11 +8,13 @@ import javax.validation.constraints.*;
|
||||||
public class SystemEmailUpdateRequest {
|
public class SystemEmailUpdateRequest {
|
||||||
|
|
||||||
@NotBlank
|
@NotBlank
|
||||||
@Email
|
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
private String password;
|
private String password;
|
||||||
|
|
||||||
|
@Email
|
||||||
|
private String mailFrom;
|
||||||
|
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String smtpHost;
|
private String smtpHost;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -15,7 +15,7 @@ import org.jooq.ForeignKey;
|
||||||
import org.jooq.Identity;
|
import org.jooq.Identity;
|
||||||
import org.jooq.Name;
|
import org.jooq.Name;
|
||||||
import org.jooq.Record;
|
import org.jooq.Record;
|
||||||
import org.jooq.Row8;
|
import org.jooq.Row9;
|
||||||
import org.jooq.Schema;
|
import org.jooq.Schema;
|
||||||
import org.jooq.Table;
|
import org.jooq.Table;
|
||||||
import org.jooq.TableField;
|
import org.jooq.TableField;
|
||||||
|
@ -87,6 +87,11 @@ public class SysMailTable extends TableImpl<SysMailRecord> {
|
||||||
*/
|
*/
|
||||||
public final TableField<SysMailRecord, LocalDateTime> CREATE_AT = createField(DSL.name("create_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, "");
|
public final TableField<SysMailRecord, LocalDateTime> CREATE_AT = createField(DSL.name("create_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, "");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The column <code>databasir.sys_mail.mail_from</code>.
|
||||||
|
*/
|
||||||
|
public final TableField<SysMailRecord, String> MAIL_FROM = createField(DSL.name("mail_from"), SQLDataType.VARCHAR(512), this, "");
|
||||||
|
|
||||||
private SysMailTable(Name alias, Table<SysMailRecord> aliased) {
|
private SysMailTable(Name alias, Table<SysMailRecord> aliased) {
|
||||||
this(alias, aliased, null);
|
this(alias, aliased, null);
|
||||||
}
|
}
|
||||||
|
@ -162,11 +167,11 @@ public class SysMailTable extends TableImpl<SysMailRecord> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// Row8 type methods
|
// Row9 type methods
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Row8<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
|
public Row9<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime, String> fieldsRow() {
|
||||||
return (Row8) super.fieldsRow();
|
return (Row9) super.fieldsRow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ public class SysMail implements Serializable {
|
||||||
private Boolean useSsl;
|
private Boolean useSsl;
|
||||||
private LocalDateTime updateAt;
|
private LocalDateTime updateAt;
|
||||||
private LocalDateTime createAt;
|
private LocalDateTime createAt;
|
||||||
|
private String mailFrom;
|
||||||
|
|
||||||
public SysMail() {}
|
public SysMail() {}
|
||||||
|
|
||||||
|
@ -36,6 +37,7 @@ public class SysMail implements Serializable {
|
||||||
this.useSsl = value.useSsl;
|
this.useSsl = value.useSsl;
|
||||||
this.updateAt = value.updateAt;
|
this.updateAt = value.updateAt;
|
||||||
this.createAt = value.createAt;
|
this.createAt = value.createAt;
|
||||||
|
this.mailFrom = value.mailFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SysMail(
|
public SysMail(
|
||||||
|
@ -46,7 +48,8 @@ public class SysMail implements Serializable {
|
||||||
Integer smtpPort,
|
Integer smtpPort,
|
||||||
Boolean useSsl,
|
Boolean useSsl,
|
||||||
LocalDateTime updateAt,
|
LocalDateTime updateAt,
|
||||||
LocalDateTime createAt
|
LocalDateTime createAt,
|
||||||
|
String mailFrom
|
||||||
) {
|
) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.username = username;
|
this.username = username;
|
||||||
|
@ -56,6 +59,7 @@ public class SysMail implements Serializable {
|
||||||
this.useSsl = useSsl;
|
this.useSsl = useSsl;
|
||||||
this.updateAt = updateAt;
|
this.updateAt = updateAt;
|
||||||
this.createAt = createAt;
|
this.createAt = createAt;
|
||||||
|
this.mailFrom = mailFrom;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -170,6 +174,20 @@ public class SysMail implements Serializable {
|
||||||
this.createAt = createAt;
|
this.createAt = createAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter for <code>databasir.sys_mail.mail_from</code>.
|
||||||
|
*/
|
||||||
|
public String getMailFrom() {
|
||||||
|
return this.mailFrom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter for <code>databasir.sys_mail.mail_from</code>.
|
||||||
|
*/
|
||||||
|
public void setMailFrom(String mailFrom) {
|
||||||
|
this.mailFrom = mailFrom;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder("SysMail (");
|
StringBuilder sb = new StringBuilder("SysMail (");
|
||||||
|
@ -182,6 +200,7 @@ public class SysMail implements Serializable {
|
||||||
sb.append(", ").append(useSsl);
|
sb.append(", ").append(useSsl);
|
||||||
sb.append(", ").append(updateAt);
|
sb.append(", ").append(updateAt);
|
||||||
sb.append(", ").append(createAt);
|
sb.append(", ").append(createAt);
|
||||||
|
sb.append(", ").append(mailFrom);
|
||||||
|
|
||||||
sb.append(")");
|
sb.append(")");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
|
|
|
@ -11,8 +11,8 @@ import java.time.LocalDateTime;
|
||||||
|
|
||||||
import org.jooq.Field;
|
import org.jooq.Field;
|
||||||
import org.jooq.Record1;
|
import org.jooq.Record1;
|
||||||
import org.jooq.Record8;
|
import org.jooq.Record9;
|
||||||
import org.jooq.Row8;
|
import org.jooq.Row9;
|
||||||
import org.jooq.impl.UpdatableRecordImpl;
|
import org.jooq.impl.UpdatableRecordImpl;
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ import org.jooq.impl.UpdatableRecordImpl;
|
||||||
* This class is generated by jOOQ.
|
* This class is generated by jOOQ.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
|
||||||
public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements Record8<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime> {
|
public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements Record9<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime, String> {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -136,6 +136,20 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
return (LocalDateTime) get(7);
|
return (LocalDateTime) get(7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter for <code>databasir.sys_mail.mail_from</code>.
|
||||||
|
*/
|
||||||
|
public void setMailFrom(String value) {
|
||||||
|
set(8, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Getter for <code>databasir.sys_mail.mail_from</code>.
|
||||||
|
*/
|
||||||
|
public String getMailFrom() {
|
||||||
|
return (String) get(8);
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// Primary key information
|
// Primary key information
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
@ -146,17 +160,17 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// Record8 type implementation
|
// Record9 type implementation
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Row8<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime> fieldsRow() {
|
public Row9<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime, String> fieldsRow() {
|
||||||
return (Row8) super.fieldsRow();
|
return (Row9) super.fieldsRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Row8<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime> valuesRow() {
|
public Row9<Integer, String, String, String, Integer, Boolean, LocalDateTime, LocalDateTime, String> valuesRow() {
|
||||||
return (Row8) super.valuesRow();
|
return (Row9) super.valuesRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -199,6 +213,11 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
return SysMailTable.SYS_MAIL.CREATE_AT;
|
return SysMailTable.SYS_MAIL.CREATE_AT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Field<String> field9() {
|
||||||
|
return SysMailTable.SYS_MAIL.MAIL_FROM;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer component1() {
|
public Integer component1() {
|
||||||
return getId();
|
return getId();
|
||||||
|
@ -239,6 +258,11 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
return getCreateAt();
|
return getCreateAt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String component9() {
|
||||||
|
return getMailFrom();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer value1() {
|
public Integer value1() {
|
||||||
return getId();
|
return getId();
|
||||||
|
@ -279,6 +303,11 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
return getCreateAt();
|
return getCreateAt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String value9() {
|
||||||
|
return getMailFrom();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysMailRecord value1(Integer value) {
|
public SysMailRecord value1(Integer value) {
|
||||||
setId(value);
|
setId(value);
|
||||||
|
@ -328,7 +357,13 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysMailRecord values(Integer value1, String value2, String value3, String value4, Integer value5, Boolean value6, LocalDateTime value7, LocalDateTime value8) {
|
public SysMailRecord value9(String value) {
|
||||||
|
setMailFrom(value);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SysMailRecord values(Integer value1, String value2, String value3, String value4, Integer value5, Boolean value6, LocalDateTime value7, LocalDateTime value8, String value9) {
|
||||||
value1(value1);
|
value1(value1);
|
||||||
value2(value2);
|
value2(value2);
|
||||||
value3(value3);
|
value3(value3);
|
||||||
|
@ -337,6 +372,7 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
value6(value6);
|
value6(value6);
|
||||||
value7(value7);
|
value7(value7);
|
||||||
value8(value8);
|
value8(value8);
|
||||||
|
value9(value9);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,7 +390,7 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
/**
|
/**
|
||||||
* Create a detached, initialised SysMailRecord
|
* Create a detached, initialised SysMailRecord
|
||||||
*/
|
*/
|
||||||
public SysMailRecord(Integer id, String username, String password, String smtpHost, Integer smtpPort, Boolean useSsl, LocalDateTime updateAt, LocalDateTime createAt) {
|
public SysMailRecord(Integer id, String username, String password, String smtpHost, Integer smtpPort, Boolean useSsl, LocalDateTime updateAt, LocalDateTime createAt, String mailFrom) {
|
||||||
super(SysMailTable.SYS_MAIL);
|
super(SysMailTable.SYS_MAIL);
|
||||||
|
|
||||||
setId(id);
|
setId(id);
|
||||||
|
@ -365,6 +401,7 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
setUseSsl(useSsl);
|
setUseSsl(useSsl);
|
||||||
setUpdateAt(updateAt);
|
setUpdateAt(updateAt);
|
||||||
setCreateAt(createAt);
|
setCreateAt(createAt);
|
||||||
|
setMailFrom(mailFrom);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -382,6 +419,7 @@ public class SysMailRecord extends UpdatableRecordImpl<SysMailRecord> implements
|
||||||
setUseSsl(value.getUseSsl());
|
setUseSsl(value.getUseSsl());
|
||||||
setUpdateAt(value.getUpdateAt());
|
setUpdateAt(value.getUpdateAt());
|
||||||
setCreateAt(value.getCreateAt());
|
setCreateAt(value.getCreateAt());
|
||||||
|
setMailFrom(value.getMailFrom());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
alter table sys_mail
|
||||||
|
add column `mail_from` varchar(512) null;
|
|
@ -1 +1 @@
|
||||||
Subproject commit 41661faad8eceb7d76df84d204d86977dcac5c95
|
Subproject commit 03b1d36965188e7010a55a2a661dcce6003289fe
|
|
@ -1,16 +1,6 @@
|
||||||
pluginManagement {
|
|
||||||
repositories {
|
|
||||||
maven { url 'https://repo.spring.io/release' }
|
|
||||||
maven { url 'https://repo.spring.io/milestone' }
|
|
||||||
maven { url 'https://repo.spring.io/snapshot' }
|
|
||||||
gradlePluginPortal()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rootProject.name = 'databasir'
|
rootProject.name = 'databasir'
|
||||||
include 'meta'
|
include 'meta'
|
||||||
include 'api'
|
include 'api'
|
||||||
include 'common'
|
include 'common'
|
||||||
include 'dao'
|
include 'dao'
|
||||||
include 'core'
|
include 'core'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue