From a63c62ba6276be968a9a16fd6905c1b770cc4e2d Mon Sep 17 00:00:00 2001 From: Charlie Smurthwaite Date: Thu, 10 Aug 2017 02:04:23 +0100 Subject: [PATCH] strip continuation of received headers --- lib/postal/smtp_server/client.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/postal/smtp_server/client.rb b/lib/postal/smtp_server/client.rb index 2b2181e..e2700a2 100644 --- a/lib/postal/smtp_server/client.rb +++ b/lib/postal/smtp_server/client.rb @@ -355,13 +355,15 @@ module Postal if @header_key && @headers[@header_key.downcase] && @headers[@header_key.downcase].last @headers[@header_key.downcase].last << data.to_s end + # If received headers are configured to be stripped and we're currently receiving one + # skip the append methods at the bottom of this loop. + next if Postal.config.smtp_server.strip_received_headers? && @header_key && @header_key.downcase == "received" else @header_key, value = data.split(/\:\s*/, 2) @headers[@header_key.downcase] ||= [] @headers[@header_key.downcase] << value - if Postal.config.smtp_server.strip_received_headers? && @header_key.downcase == "received" - next - end + # As above + next if Postal.config.smtp_server.strip_received_headers? && @header_key && @header_key.downcase == "received" end end @data << data