使用Perl的Net::Jabber时,向离线用户发送简单消息会导致消息在用户上线时传递给用户(它甚至会在用户的Gmail帐户中显示为未读消息)。这就像做
一样简单my $msg = Net::Jabber::Message->new();
$msg->SetMessage(...);
$connection->Send($msg);
在Ruby xmpp4r中,做同样的事情是不将消息发送给离线用户,而是返回(异步)xmpp服务不可用的节,甚至不返回任何内容,并且也没有工作。消息就丢失了。
如何使用xmpp4r发送离线消息?
此外,在相关主题中,在xmpp's api docs for Jabber::Stream's send method中,存在“块”参数。如何使用它?
谢谢
答案 0 :(得分:3)
确保您正在对邮件进行type=:chat
。
client.send(Jabber::Message.new(jid, contents).set_type(:chat))
(代码复制自Ricardo Pardini的评论,为了长期清晰)