refactor: move lib/postal/received_header to app/lib/received_header

This commit is contained in:
Adam Cooke
2024-02-23 22:51:36 +00:00
committed by Adam Cooke
parent 5cc9eb3df7
commit e3bc9da253
6 changed files with 35 additions and 37 deletions
+30
View File
@@ -0,0 +1,30 @@
# frozen_string_literal: true
class ReceivedHeader
OUR_HOSTNAMES = {
smtp: Postal.config.dns.smtp_server_hostname,
http: Postal.config.web.host
}.freeze
class << self
def generate(server, helo, ip_address, method)
our_hostname = OUR_HOSTNAMES[method]
if our_hostname.nil?
raise Error, "`method` is invalid (must be one of #{OUR_HOSTNAMES.join(', ')})"
end
header = "by #{our_hostname} with #{method.to_s.upcase}; #{Time.now.utc.rfc2822}"
if server.nil? || server.privacy_mode == false
hostname = DNSResolver.local.ip_to_hostname(ip_address)
header = "from #{helo} (#{hostname} [#{ip_address}]) #{header}"
end
header
end
end
end