cl = xmpp.Client('myserver.com')
if not cl.connect(server=('mysefver.com',5223)):
    raise IOError('cannot connect to server')
cl.RegisterHandler('message',messageHandler)
cl.auth('myemail@myserver.com', 'mypassword', 'statusbot')
cl.sendInitPresence()

msgtext = formatToDo(cal, 'text')
message = xmpp.Message('anotheremail@myserver.com',  msgtext) 
message.setAttr('type', 'chat')
cl.send(message)

我收到以下错误消息,当我尝试运行它:

xmpp.protocol.InvalidFrom: (u'invalid-from', '')

这是为什么:(

有帮助吗?

解决方案

从XMPP协议规范

  

如果在“从”的值   地址不匹配由接收代表的主机名   服务器开放的TCP连接(或任何验证域时   其,如接收服务器的一个子域名验证   主机名或接收服务器托管在其他验证域)   那么权威服务器必须产生一个流   错误条件并终止XML流和底层   TCP连接。

这基本上意味着,如果发送者不被XMPP服务器认识到的,它会与此消息进行答复。 XMPP提供注册机制: xmpp.features.register

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top