diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 782732603..446c32f48 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -573,9 +573,10 @@ route_message(From, To, Packet) -> _ -> case ejabberd_auth:is_user_exists(LUser, LServer) of true -> - ejabberd_hooks:run(offline_message_hook, - LServer, - [From, To, Packet]); + is_privacy_allow(From, To, Packet) andalso + ejabberd_hooks:run(offline_message_hook, + LServer, + [From, To, Packet]); _ -> Err = jlib:make_error_reply( Packet, ?ERR_SERVICE_UNAVAILABLE),