From c99a950979cb1a6a5e449b31623fbb6a18ad6112 Mon Sep 17 00:00:00 2001 From: Pierre Kuhner Date: Thu, 24 Aug 2017 15:23:49 +0200 Subject: Percent-encode SMTP password to prevent URI malformed errors Fix URIError: URI malformed errors when sending email with SMTP password containing some special characters. See Sections 2.1 and 3.2 of RFC 3986. --- models/settings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'models/settings.js') diff --git a/models/settings.js b/models/settings.js index ce162d45..089c6783 100644 --- a/models/settings.js +++ b/models/settings.js @@ -45,7 +45,7 @@ Settings.helpers({ if (!this.mailServer.username && !this.mailServer.password) { return `${protocol}${this.mailServer.host}:${this.mailServer.port}/`; } - return `${protocol}${this.mailServer.username}:${this.mailServer.password}@${this.mailServer.host}:${this.mailServer.port}/`; + return `${protocol}${this.mailServer.username}:encodeURIComponent(${this.mailServer.password})@${this.mailServer.host}:${this.mailServer.port}/`; }, }); Settings.allow({ @@ -84,7 +84,7 @@ if (Meteor.isServer) { if (!doc.mailServer.username && !doc.mailServer.password) { process.env.MAIL_URL = `${protocol}${doc.mailServer.host}:${doc.mailServer.port}/`; } else { - process.env.MAIL_URL = `${protocol}${doc.mailServer.username}:${doc.mailServer.password}@${doc.mailServer.host}:${doc.mailServer.port}/`; + process.env.MAIL_URL = `${protocol}${doc.mailServer.username}:encodeURIComponent(${doc.mailServer.password})@${doc.mailServer.host}:${doc.mailServer.port}/`; } Accounts.emailTemplates.from = doc.mailServer.from; } -- cgit v1.2.3-1-g7c22