mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 01:47:46 +08:00
FIX: don't overwrite custom email headers when using mandrill/sparkpost
This commit is contained in:
@ -138,9 +138,9 @@ module Email
|
||||
when /\.mailjet\.com/
|
||||
@message.header['X-MJ-CustomID'] = @message.message_id
|
||||
when "smtp.mandrillapp.com"
|
||||
@message.header['X-MC-Metadata'] = { message_id: @message.message_id }.to_json
|
||||
merge_json_x_header('X-MC-Metadata', { message_id: @message.message_id })
|
||||
when "smtp.sparkpostmail.com"
|
||||
@message.header['X-MSYS-API'] = { metadata: { message_id: @message.message_id } }.to_json
|
||||
merge_json_x_header('X-MSYS-API', { metadata: { message_id: @message.message_id } })
|
||||
end
|
||||
|
||||
# Suppress images from short emails
|
||||
@ -202,5 +202,13 @@ module Email
|
||||
)
|
||||
end
|
||||
|
||||
def merge_json_x_header(name, value)
|
||||
mc_metadata = JSON.parse(@message.header[name].to_s) rescue nil
|
||||
mc_metadata ||= {}
|
||||
mc_metadata.merge!(value)
|
||||
@message.header[name] = nil
|
||||
@message.header[name] = mc_metadata.to_json
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user