XMPP avec python: xmpp.protocol.InvalidFrom: (u'invalid-de », '')
Question
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)
Je reçois le message d'erreur suivant lorsque je tente de l'exécuter:
xmpp.protocol.InvalidFrom: (u'invalid-from', '')
Pourquoi est-ce qui se passe :(
La solution
Dans le protocole XMPP spécification :
Si la valeur du « de » adresse ne correspond pas au nom d'hôte représenté par la réception Serveur lors de l'ouverture de la connexion TCP (ou tout autre domaine validé celui-ci, comme un sous-domaine validé de la réception de serveur nom d'hôte ou un autre domaine validé hébergé par le serveur de réception), alors le serveur DOIT générer Autoritaire un flux condition d'erreur et mettre fin à la fois le flux XML et le sous-jacent connexion TCP.
ce qui signifie essentiellement que si l'expéditeur n'est pas reconnu par le serveur XMPP, il vous répondra avec ce message. XMPP fournit un mécanisme d'enregistrement: xmpp.features.register