From 4de6dc20e649d79ce6539797e9832a5fdd076f1d Mon Sep 17 00:00:00 2001 From: Adam Cooke Date: Thu, 27 Apr 2017 09:49:53 +0100 Subject: [PATCH] don't use localhost as the HELO on outgoing SMTP connections It can be configured using `dns.helo_hostname` or will be set to `dns.smtp_server_hostname` Related to #19 --- config/postal.defaults.yml | 1 + lib/postal/smtp_sender.rb | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/config/postal.defaults.yml b/config/postal.defaults.yml index 1a09f7f..ffccd81 100644 --- a/config/postal.defaults.yml +++ b/config/postal.defaults.yml @@ -68,6 +68,7 @@ dns: return_path: rp.postal.example.com route_domain: routes.postal.example.com track_domain: track.postal.example.com + helo_hostname: # By default, this will be the same as the `smtp_server_hostname` dkim_identifier: postal domain_verify_prefix: postal-verification custom_return_path_prefix: psrp diff --git a/lib/postal/smtp_sender.rb b/lib/postal/smtp_sender.rb index a0d1d82..242fde9 100644 --- a/lib/postal/smtp_sender.rb +++ b/lib/postal/smtp_sender.rb @@ -57,7 +57,7 @@ module Postal else # Nothing end - smtp_client.start(@source_ip_address ? @source_ip_address.hostname : "localhost") + smtp_client.start(@source_ip_address ? @source_ip_address.hostname : self.class.default_helo_hostname) log "Connected to #{@remote_ip}:#{port} (#{hostname})" rescue => e log "Cannot connect to #{@remote_ip}:#{port} (#{hostname}) (#{e.class}: #{e.message})" @@ -244,5 +244,9 @@ module Postal end end + def self.default_helo_hostname + Postal.config.dns.helo_hostname || Postal.config.dns.smtp_server_hostname || "localhost" + end + end end