我正在尝试使用 xmpppy 从 django 网站发送 jabber 消息。这完全没问题。
但是,邮件只会发送到列表中的第一个收件人。当我从 django 运行以下函数以及从交互式 python-shell 运行它时,就会发生这种情况。不过,奇怪的是,如果我提取函数的 -body- 并以交互方式运行它,那么所有收件人(目前只有 2 个)都会收到消息。
此外,我确实知道内部 for 循环运行正确的计数次数 (2),因为打印语句确实运行了两次,并返回两个不同的消息 ID。
该函数如下所示:
def hello_jabber(request, text):
jid=xmpp.protocol.JID(settings.JABBER_ID)
cl=xmpp.Client(jid.getDomain(),debug=[])
con=cl.connect()
auth=cl.auth(jid.getNode(),settings.JABBER_PW,resource=jid.getResource())
for friend in settings.JABBER_FRIENDS:
id=cl.send(xmpp.protocol.Message(friend,friend + ' is awesome:' + text))
print 'sent message with id ' + str(id)
cl.disconnect()
return render_to_response('jabber/sent.htm', locals())