From e16b3c3e48c44e59287fa7e2be0f3c1ec9651ccc Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 7 Nov 2016 12:01:55 +0100 Subject: [PATCH] Small improvement, set domain for smtp if Zammad fqdn is not configured (e. g. in development environments). --- app/models/channel/driver/smtp.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/channel/driver/smtp.rb b/app/models/channel/driver/smtp.rb index a48918dd8..fb32537f5 100644 --- a/app/models/channel/driver/smtp.rb +++ b/app/models/channel/driver/smtp.rb @@ -31,7 +31,16 @@ class Channel::Driver::Smtp options[:port] = 25 end if !options.key?(:domain) - options[:domain] = Setting.get('fqdn') + + # set fqdn, if local fqdn - use domain of sender + fqdn = Setting.get('fqdn') + if fqdn =~ /(localhost|\.local^|\.loc^)/i && (attr['from'] || attr[:from]) + domain = Mail::Address.new(attr['from'] || attr[:from]).domain + if domain + fqdn = domain + end + end + options[:domain] = fqdn end if !options.key?(:enable_starttls_auto) options[:enable_starttls_auto] = true