Pergunta

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)

Eu recebo a seguinte mensagem de erro quando tento executá-lo:

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

Por que isso está acontecendo :(

Foi útil?

Solução

A partir do protocolo XMPP especificação :

Se o valor do 'de' endereço não corresponde ao nome do host representado pelo Recebimento Servidor quando abrir a conexão TCP (ou qualquer domínio validado da mesma, tais como um subdomínio validado dos do servidor receptor hostname ou outro domínio validado organizada pelo recebimento Server), em seguida, o servidor autoritário deve gerar um fluxo condição de erro e terminar tanto o fluxo de XML eo subjacente TCP conexão.

o que basicamente significa que, se o remetente não é reconhecido pelo xmpp-servidor, ele vai responder a esta mensagem. XMPP fornece um mecanismo de registro: xmpp.features.register

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top