Added option to turn off email verification.

This commit is contained in:
Ylian Saint-Hilaire 2020-11-18 21:11:39 -08:00
parent 09cc0caa3c
commit 43e8bcbe4a
3 changed files with 5 additions and 3 deletions

View File

@ -538,7 +538,8 @@
"from": { "type": "string", "format": "email" }, "from": { "type": "string", "format": "email" },
"tls": { "type": "boolean" }, "tls": { "type": "boolean" },
"tlscertcheck": { "type": "boolean" }, "tlscertcheck": { "type": "boolean" },
"tlsstrict": { "type": "boolean" } "tlsstrict": { "type": "boolean" },
"verifyemail": { "type": "boolean", "default": true, "description": "When set to false, the email format and DNS MX record are not checked." }
}, },
"required": [ "host", "port", "from", "tls" ] "required": [ "host", "port", "from", "tls" ]
}, },

View File

@ -363,6 +363,7 @@ module.exports.CreateMeshMail = function (parent) {
// Check the email domain DNS MX record. // Check the email domain DNS MX record.
obj.approvedEmailDomains = {}; obj.approvedEmailDomains = {};
obj.checkEmail = function (email, func) { obj.checkEmail = function (email, func) {
if (parent.config.smtp.verifyemail === false) { func(true); return; }
var emailSplit = email.split('@'); var emailSplit = email.split('@');
if (emailSplit.length != 2) { func(false); return; } if (emailSplit.length != 2) { func(false); return; }
if (obj.approvedEmailDomains[emailSplit[1]] === true) { func(true); return; } if (obj.approvedEmailDomains[emailSplit[1]] === true) { func(true); return; }

View File

@ -534,13 +534,13 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
obj.xxMouseWheel = function (e) { if (obj.State == 3) { obj.SendMouseMsg(obj.KeyAction.SCROLL, e); return false; } return true; } obj.xxMouseWheel = function (e) { if (obj.State == 3) { obj.SendMouseMsg(obj.KeyAction.SCROLL, e); return false; } return true; }
obj.xxKeyUp = function (e) { obj.xxKeyUp = function (e) {
if ((e.key != 'Dead') && (obj.State == 3)) { if ((e.key != 'Dead') && (obj.State == 3)) {
if ((e.key.length == 1) && ((obj.remoteKeyMap == false) || (obj.debugmode > 0))) { obj.SendKeyUnicode(obj.KeyAction.UP, e.key.charCodeAt(0)); } else { obj.SendKeyMsg(obj.KeyAction.UP, e); } if ((e.key.length == 1) && (e.ctrlKey != true) && (e.altKey != true) && ((obj.remoteKeyMap == false) || (obj.debugmode > 0))) { obj.SendKeyUnicode(obj.KeyAction.UP, e.key.charCodeAt(0)); } else { obj.SendKeyMsg(obj.KeyAction.UP, e); }
} }
if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false;
} }
obj.xxKeyDown = function (e) { obj.xxKeyDown = function (e) {
if ((e.key != 'Dead') && (obj.State == 3)) { if ((e.key != 'Dead') && (obj.State == 3)) {
if ((e.key.length == 1) && ((obj.remoteKeyMap == false) || (obj.debugmode > 0))) { obj.SendKeyUnicode(obj.KeyAction.DOWN, e.key.charCodeAt(0)); } else { obj.SendKeyMsg(obj.KeyAction.DOWN, e); } if ((e.key.length == 1) && (e.ctrlKey != true) && (e.altKey != true) && ((obj.remoteKeyMap == false) || (obj.debugmode > 0))) { obj.SendKeyUnicode(obj.KeyAction.DOWN, e.key.charCodeAt(0)); } else { obj.SendKeyMsg(obj.KeyAction.DOWN, e); }
} }
if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false; if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); return false;
} }