aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mod_admin_extra.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl
index 2ac81253a..ad174e5c1 100644
--- a/src/mod_admin_extra.erl
+++ b/src/mod_admin_extra.erl
@@ -1494,14 +1494,18 @@ send_message(Type, From, To, Subject, Body) ->
#xmlel{name = <<"body">>,
children = [{xmlcdata, Body}]}]},
?NS_CLIENT, CodecOpts) of
- #message{from = JID} = Msg ->
- State = #{jid => JID},
- ejabberd_hooks:run_fold(user_send_packet, JID#jid.lserver, {Msg, State}, []),
+ #message{from = FromJid, to = ToJid} = Msg1 ->
+ Msg = xmpp:put_meta(Msg1, stanza_id, mod_mam:make_id()),
+ ejabberd_hooks:run_fold(user_send_packet, FromJid#jid.lserver,
+ {Msg, #{jid => FromJid}}, []),
+ ejabberd_hooks:run_fold(user_receive_packet, FromJid#jid.lserver,
+ {Msg, #{jid => ToJid}}, []),
ejabberd_router:route(Msg)
catch _:{xmpp_codec, Why} ->
{error, xmpp:format_error(Why)}
end.
+
send_stanza(FromString, ToString, Stanza) ->
try
#xmlel{} = El = fxml_stream:parse_element(Stanza),