diff --git a/application/src/main/java/run/halo/app/notification/EmailNotifier.java b/application/src/main/java/run/halo/app/notification/EmailNotifier.java index 47d3a8728..0a49e2298 100644 --- a/application/src/main/java/run/halo/app/notification/EmailNotifier.java +++ b/application/src/main/java/run/halo/app/notification/EmailNotifier.java @@ -88,7 +88,7 @@ public class EmailNotifier implements ReactiveNotifier { return mimeMessage -> { MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, StandardCharsets.UTF_8.name()); - helper.setFrom(emailSenderConfig.getUsername(), emailSenderConfig.getDisplayName()); + helper.setFrom(emailSenderConfig.getSender(), emailSenderConfig.getDisplayName()); helper.setSubject(payload.getTitle()); helper.setText(payload.getRawBody(), payload.getHtmlBody()); @@ -166,6 +166,7 @@ public class EmailNotifier implements ReactiveNotifier { private String host; private Integer port; private String encryption; + private String sender; /** * Gets email display name. @@ -175,5 +176,14 @@ public class EmailNotifier implements ReactiveNotifier { public String getDisplayName() { return StringUtils.defaultIfBlank(displayName, username); } + + /** + * Gets email sender address. + * + * @return sender if not blank, otherwise username. + */ + public String getSender() { + return StringUtils.defaultIfBlank(sender, username); + } } } diff --git a/application/src/main/resources/extensions/notification.yaml b/application/src/main/resources/extensions/notification.yaml index 3fd11c919..15eaf1954 100644 --- a/application/src/main/resources/extensions/notification.yaml +++ b/application/src/main/resources/extensions/notification.yaml @@ -28,6 +28,11 @@ spec: label: "用户名" name: username validation: required + - $formkit: text + if: "$enable" + label: "发信地址" + name: "sender" + help: "如果用户名为实际发信地址,可忽略" - $formkit: password if: "$enable" label: "密码"