From 85cefc14e8aeed3457b896be6f8063d44a01e9d6 Mon Sep 17 00:00:00 2001 From: witzig Date: Tue, 2 May 2017 23:51:55 +0200 Subject: [PATCH] Added option to disable the sender header when using VERP --- config/default.toml | 6 ++++++ services/sender.js | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config/default.toml b/config/default.toml index abcc128e..64d45fbe 100644 --- a/config/default.toml +++ b/config/default.toml @@ -103,6 +103,12 @@ db=5 enabled=false port=2525 host="0.0.0.0" +# With DMARC, the Return-Path and From address must match the same domain. +# By default we get around this by using the VERP address in the Sender header, +# with the side effect that some email clients diplay an ugly "on behalf of" message. +# You can safely disable this Sender header if you're not using DMARC or your +# VERP hostname is in the same domain as the From address. +# disablesenderheader=true [testserver] # Starts a vanity server that redirects all mail to /dev/null diff --git a/services/sender.js b/services/sender.js index 0610a7bb..bd0c72cd 100644 --- a/services/sender.js +++ b/services/sender.js @@ -318,6 +318,7 @@ function formatMessage(message, callback) { } let useVerp = config.verp.enabled && configItems.verpUse && configItems.verpHostname; + let useVerpSenderHeader = useVerp && config.verp.disablesenderheader !== true; fields.list(list.id, (err, fieldList) => { if (err) { return callback(err); @@ -389,7 +390,7 @@ function formatMessage(message, callback) { name: [].concat(message.subscription.firstName || []).concat(message.subscription.lastName || []).join(' '), address: message.subscription.email }, - sender: useVerp ? campaignAddress + '@' + configItems.verpHostname : false, + sender: useVerpSenderHeader ? campaignAddress + '@' + configItems.verpHostname : false, envelope: useVerp ? { from: campaignAddress + '@' + configItems.verpHostname,