django + xmppy:发送邮件给两个收件人
问题描述:
我试图使用xmpppy从django网站发送jabber邮件。这工作完全正常。django + xmppy:发送邮件给两个收件人
但是,该消息仅发送给列表中的收件人的第一个收件人。当我从django运行以下函数时,以及如果从交互式python-shell运行它,会发生这种情况。然而,奇怪的是,如果我提取函数的-body-并以交互方式运行,那么所有收件人(目前只有2个)会收到消息。
此外,我知道内部的for-loop运行正确的计数次数(2),因为print语句运行两次,并返回两个不同的消息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())
答
激活在xmpppy调试选项,看看什么是XMPP客户端。
现在试过了。虽然它产生了一个错误,但它似乎并没有做太多的工作,但是这个错误似乎与ps2在django中被undefined/closed关联了。 (根据理由,我认为这是unix上的stderr,调试信息在那里)下面是相关的输出:DEBUG:socket sent DEBUG:套接字错误接收套接字错误数据 AttributeError:'模块'对象没有属性'ps2' –
Agrajag
2010-04-14 09:03:49
更多的研究表明,如果我从python(没有Django)运行相同的代码,如预期关于ps2的抱怨消失,但我仍然得到“套接字错误,同时接收数据“”客户端:停止检测到断开连接“。所以django是无辜的:-) 尽管如此,为什么在python解释器中以内联方式运行该代码作为功能炸弹仍然是个谜。 – Agrajag 2010-04-14 09:11:51