Skip to content

Commit

Permalink
core: fix an issue where the email recipient was not properly escaped…
Browse files Browse the repository at this point in the history
… when an override was set. (#3018)
  • Loading branch information
mworrell committed Jun 20, 2022
1 parent 50c6734 commit d9d4519
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions src/smtp/z_email_server.erl
Original file line number Diff line number Diff line change
Expand Up @@ -966,22 +966,15 @@ check_override(EmailAddr, SiteOverride, #state{override=ZotonicOverride}) ->
true -> SiteOverride;
false -> ZotonicOverride
end,
case z_utils:is_empty(UseOverride) of
EmailAddr1 = case z_utils:is_empty(UseOverride) of
true ->
z_convert:to_list(EmailAddr);
EmailAddr;
false ->
escape_email(z_convert:to_list(EmailAddr)) ++ " (override) <" ++ z_convert:to_list(UseOverride) ++ ">"
end.


escape_email(Email) ->
escape_email(Email, []).
escape_email([], Acc) ->
lists:reverse(Acc);
escape_email([$@|T], Acc) ->
escape_email(T, [$-,$t,$a,$-|Acc]);
escape_email([H|T], Acc) ->
escape_email(T, [H|Acc]).
z_email:combine_name_email(
iolist_to_binary([EmailAddr, " (override)"]),
UseOverride)
end,
z_convert:to_list(EmailAddr1).

optional_render(undefined, undefined, _Vars, _Context) ->
[];
Expand Down

0 comments on commit d9d4519

Please sign in to comment.