added proxy configs to send mail rule node and sysadmin
This commit is contained in:
parent
7ee2cdfe3e
commit
c2dd91d819
@ -131,6 +131,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService {
|
||||
node.put("username", "");
|
||||
node.put("password", "");
|
||||
node.put("tlsVersion", "TLSv1.2");//NOSONAR, key used to identify password field (not password value itself)
|
||||
node.put("enableProxy", false);
|
||||
mailSettings.setJsonValue(node);
|
||||
adminSettingsService.saveAdminSettings(TenantId.SYS_TENANT_ID, mailSettings);
|
||||
}
|
||||
|
||||
@ -115,6 +115,21 @@ public class DefaultMailService implements MailService {
|
||||
if (enableTls && jsonConfig.has("tlsVersion") && StringUtils.isNoneEmpty(jsonConfig.get("tlsVersion").asText())) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".ssl.protocols", jsonConfig.get("tlsVersion").asText());
|
||||
}
|
||||
|
||||
boolean enableProxy = jsonConfig.has("enableProxy") && jsonConfig.get("enableProxy").asBoolean();
|
||||
|
||||
if (enableProxy) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.host", jsonConfig.get("proxyHost").asText());
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.port", jsonConfig.get("proxyPort").asText());
|
||||
String proxyUser = jsonConfig.get("proxyUser").asText();
|
||||
if (StringUtils.isNoneEmpty(proxyUser)) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.user", proxyUser);
|
||||
}
|
||||
String proxyPassword = jsonConfig.get("proxyPassword").asText();
|
||||
if (StringUtils.isNoneEmpty(proxyPassword)) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.password", proxyPassword);
|
||||
}
|
||||
}
|
||||
return javaMailProperties;
|
||||
}
|
||||
|
||||
|
||||
@ -147,6 +147,16 @@ public class TbSendEmailNode implements TbNode {
|
||||
if (this.config.isEnableTls() && StringUtils.isNoneEmpty(this.config.getTlsVersion())) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".ssl.protocols", this.config.getTlsVersion());
|
||||
}
|
||||
if (this.config.isEnableProxy()) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.host", config.getProxyHost());
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.port", config.getProxyPort());
|
||||
if (StringUtils.isNoneEmpty(config.getProxyUser())) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.user", config.getProxyUser());
|
||||
}
|
||||
if (StringUtils.isNoneEmpty(config.getProxyPassword())) {
|
||||
javaMailProperties.put(MAIL_PROP + protocol + ".proxy.password", config.getProxyPassword());
|
||||
}
|
||||
}
|
||||
return javaMailProperties;
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,6 +30,11 @@ public class TbSendEmailNodeConfiguration implements NodeConfiguration {
|
||||
private int timeout;
|
||||
private boolean enableTls;
|
||||
private String tlsVersion;
|
||||
private boolean enableProxy;
|
||||
private String proxyHost;
|
||||
private String proxyPort;
|
||||
private String proxyUser;
|
||||
private String proxyPassword;
|
||||
|
||||
@Override
|
||||
public TbSendEmailNodeConfiguration defaultConfiguration() {
|
||||
@ -41,6 +46,7 @@ public class TbSendEmailNodeConfiguration implements NodeConfiguration {
|
||||
configuration.setTimeout(10000);
|
||||
configuration.setEnableTls(false);
|
||||
configuration.setTlsVersion("TLSv1.2");
|
||||
configuration.setEnableProxy(false);
|
||||
return configuration;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -88,6 +88,37 @@
|
||||
</md-option>
|
||||
</md-select>
|
||||
</md-input-container>
|
||||
<md-checkbox class="md-block" flex="100" flex-gt-sm="60" ng-disabled="$root.loading" aria-label="{{ 'admin.enable-proxy' | translate }}" ng-model="vm.settings.jsonValue.enableProxy">
|
||||
{{ 'admin.enable-proxy' | translate }}
|
||||
</md-checkbox>
|
||||
<div layout-gt-sm="row">
|
||||
<md-input-container class="md-block" flex="100" flex-gt-sm="60" ng-if="vm.settings.jsonValue.enableProxy">
|
||||
<label translate>admin.proxy-host</label>
|
||||
<input required name="proxyHost" ng-model="vm.settings.jsonValue.proxyHost">
|
||||
<div ng-messages="vm.settingsForm.proxyHost.$error">
|
||||
<div translate ng-message="required">admin.proxy-host-required</div>
|
||||
</div>
|
||||
</md-input-container>
|
||||
<md-input-container ng-if="vm.settings.jsonValue.enableProxy" class="md-block" flex="100" flex-gt-sm="40">
|
||||
<label translate>admin.proxy-port</label>
|
||||
<input required name="proxyPort" ng-model="vm.settings.jsonValue.proxyPort"
|
||||
ng-pattern="/^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/"
|
||||
md-maxlength="5">
|
||||
<div ng-messages="vm.settingsForm.proxyPort.$error" role="alert" multiple>
|
||||
<div translate ng-message="required">admin.proxy-port-required</div>
|
||||
<div translate ng-message="pattern">admin.proxy-port-invalid</div>
|
||||
<div translate ng-message="md-maxlength">admin.proxy-port-invalid</div>
|
||||
</div>
|
||||
</md-input-container>
|
||||
</div>
|
||||
<md-input-container class="md-block" ng-if="vm.settings.jsonValue.enableProxy">
|
||||
<label translate>admin.proxy-user</label>
|
||||
<input name="proxyUser" ng-model="vm.settings.jsonValue.proxyUser">
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block" ng-if="vm.settings.jsonValue.enableProxy">
|
||||
<label translate>admin.proxy-password</label>
|
||||
<input name="proxyPassword" ng-model="vm.settings.jsonValue.proxyPassword">
|
||||
</md-input-container>
|
||||
<md-input-container class="md-block">
|
||||
<label translate>common.username</label>
|
||||
<input name="username" placeholder="{{ 'common.enter-username' | translate }}" ng-model="vm.settings.jsonValue.username">
|
||||
|
||||
@ -87,6 +87,14 @@
|
||||
"timeout-invalid": "That doesn't look like a valid timeout.",
|
||||
"enable-tls": "Enable TLS",
|
||||
"tls-version": "TLS version",
|
||||
"enable-proxy": "Enable proxy",
|
||||
"proxy-host": "Proxy host",
|
||||
"proxy-host-required": "Proxy host is required.",
|
||||
"proxy-port": "Proxy port",
|
||||
"proxy-port-required": "You must supply a proxy port.",
|
||||
"proxy-port-invalid": "That doesn't look like a valid proxy port.",
|
||||
"proxy-user": "Proxy user",
|
||||
"proxy-password": "Proxy password",
|
||||
"send-test-mail": "Send test mail",
|
||||
"security-settings": "Security settings",
|
||||
"password-policy": "Password policy",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user