LINUX.ORG.RU

sendxmpp + google talk = не работает!


0

1

Не могу понять в чём затык.

Задача: отправлять сообщения из консоли в jabber.
Инструмент: sendxmpp (1.20)
Проблема: не доходят сообщения.

Например, отправляю сообщение сам себе:

echo "123" | sendxmpp -d -u blackst0ne.ru -t -o gmail.com blackst0ne.ru 

~/.sendxmpprc

blackst0ne.ru@gmail.com;talk.google.com MYSUPERPASSWORD

Кусок отклика:

sendxmpp: AuthSend: ok
XMPP::Conn: SendXML: sent(<message to='blackst0ne.ru@gmail.com' type='chat'><body>123
</body><subject></subject></message>)
XML::Stream: Send: (<message to='blackst0ne.ru@gmail.com' type='chat'><body>123
</body><subject></subject></message>)
sendxmpp: MessageSend
XML::Stream: Send: (</stream:stream>)
XML::Stream: SetCallBacks: tag(node) func(CODE(0x1ef3838))
XMPP::Conn: Disconnect: bye bye
sendxmpp: Disconnect

Сообщения не приходят.
Есть идеи?

★★★★★

Питоновский скрипт ведт себя похоже: сообщение отсылает, но они не доходят.

Скрипт:

#!/usr/bin/env python  
import sys,os,xmpp,time,ConfigParser  
  
name = os.path.basename(sys.argv[0])  
  
if len(sys.argv) < 2:  
    print "Send a message via Jabber (XMPP)"  
    print "Syntax:", name, "JID text"  
    print "JID\trecipient's Jabber ID"  
    print "text\tmessage, use '-' for stdin"  
    sys.exit(0)  
  
toJID = sys.argv[1]  
if sys.argv[2] == '-':  
    text = sys.stdin.read()  
else:  
    text = ' '.join(sys.argv[2:])  
  
configFile = os.path.join(os.environ['HOME'], '.' + name)  
config = ConfigParser.RawConfigParser()  
  
try:  
    config.read(configFile)  
    fromJID = config.get('Connection', 'JID')  
    password = config.get('Connection', 'Password')  
except:  
    print "Default configuration was written to", configFile  
    config.add_section('Connection')  
    config.set('Connection', 'JID', 'user@example.com/home')  
    config.set('Connection', 'Password', '********')  
    f = file(configFile, 'w')  
    config.write(f)  
    f.close()  
    sys.exit(0)  
  
fromJID = xmpp.protocol.JID(fromJID)  
client = xmpp.Client(fromJID.getDomain(),debug=[])  
  
conn = client.connect()  
if not conn:  
    print 'Could not connect!'  
    sys.exit(1)  
print 'Connected with', conn  
  
auth = client.auth(fromJID.getNode(), password, resource=fromJID.getResource())  
if not auth:  
    print 'Could not authenticate!'  
    sys.exit(1)  
print 'Authenticated using', auth  
  
messageID = client.send(xmpp.protocol.Message(toJID, text))  
print 'Message was sent'  
  
time.sleep(1)  
client.disconnect()  

blackst0ne ★★★★★
() автор топика

возможно собака порылась в том, что у гугловского жабира используется legacy ssl и 5223 порт, я не уверен, что sendxmpp об этом знает

lazyklimm ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.