Browse Source

Fix processing of allow system smtp settings flag

pull/5076/head
Igor Kulikov 5 years ago
parent
commit
d20ea5ae07
  1. 4
      application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java
  2. 2
      rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java
  3. 4
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java

4
application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java

@ -525,8 +525,8 @@ class DefaultTbContext implements TbContext {
}
@Override
public MailService getMailService() {
if (mainCtx.isAllowSystemMailService()) {
public MailService getMailService(boolean isSystem) {
if (!isSystem || mainCtx.isAllowSystemMailService()) {
return mainCtx.getMailService();
} else {
throw new RuntimeException("Access to System Mail Service is forbidden!");

2
rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java

@ -231,7 +231,7 @@ public interface TbContext {
ListeningExecutor getExternalCallExecutor();
MailService getMailService();
MailService getMailService(boolean isSystem);
SmsService getSmsService();

4
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java

@ -86,9 +86,9 @@ public class TbSendEmailNode implements TbNode {
private void sendEmail(TbContext ctx, TbMsg msg, TbEmail email) throws Exception {
if (this.config.isUseSystemSmtpSettings()) {
ctx.getMailService().send(ctx.getTenantId(), msg.getCustomerId(), email);
ctx.getMailService(true).send(ctx.getTenantId(), msg.getCustomerId(), email);
} else {
ctx.getMailService().send(ctx.getTenantId(), msg.getCustomerId(), email, this.mailSender);
ctx.getMailService(false).send(ctx.getTenantId(), msg.getCustomerId(), email, this.mailSender);
}
}

Loading…
Cancel
Save