Browse Source

[Fix] Empty envelopes should not be emitted as arrays (json+messagepack) when populated envelopes are objects. This greatly complicates decoding in strictly typed languages.

tags/3.3
Jason Stephenson 1 year ago
parent
commit
d4979648e9
1 changed files with 5 additions and 1 deletions
  1. 5
    1
      lualib/lua_mime.lua

+ 5
- 1
lualib/lua_mime.lua View File

@@ -596,7 +596,8 @@ exports.message_to_ucl = function(task, stringify_content)

return nil
end
-- Envelope (smtp) information form email

-- Envelope (smtp) information from email (nil if empty)
result.envelope = {
from_smtp = (task:get_from('smtp') or E)[1],
recipients_smtp = task:get_recipients('smtp'),
@@ -605,6 +606,9 @@ exports.message_to_ucl = function(task, stringify_content)
client_ip = maybe_stringify_ip(task:get_client_ip()),
from_ip = maybe_stringify_ip(task:get_from_ip()),
}
if not next(result.envelope) then
result.envelope = nil
end

local parts = task:get_parts() or E
result.parts = {}

Loading…
Cancel
Save