PyMailt transport

I need some help getting this transport to work. Does this transport work with ejabberd?

I'm using ubuntu server with python 2.4.3 installed.

I got pyaimt pyicqt pymsnt working, no joy with pymailt.

I can see the connection to my ejabberd server, even in psi the 'mail transport' shows up, but when i click on it there is no register option. When i run python mail.py nothing seems to happen, all seems fine until i hit Ctrl&C, I get the following:

Traceback (most recent call last):
File "mail.py", line 242, in ?
connection.Process(1)
File "/usr/local/lib/python2.4/site-packages/xmpp/dispatcher.py", line 119, in Process
if self._owner.Connection.pending_data(timeout):
File "/usr/local/lib/python2.4/site-packages/xmpp/transports.py", line 189, in pending_data
return select.select([self._sock],[],[],timeout)[0]
error: (4, 'Interrupted system call')

if i enable debugging i get this:
DEBUG: socket sent
DEBUG: socket error Socket error while receiving data
DEBUG: component stop Disconnect detected
DEBUG: socket error Socket operation failed

I got the transport from here - http://xmpppy.sourceforge.net/mail/

Does anybody have any ideas? I downloaded the source files (http://xmpppy.cvs.sourceforge.net/xmpppy/xmpppy/mail-transport/), configured the config.xml and tried to run it. Maybe i missed something/or some steps...

Thanks in advance.

I tried with ejabberd SVN,

I tried with ejabberd SVN, Tkabber SVN and PyMailt CVS.

On the transport configuration, I had to remove the line

<useRouteWrap/>

Once ejabberd and the transport were correctly configured and started, I see the transport on the Service Discovery. It provides some ad-hoc commands, which I try to use. However, when I tell Tkabber to ask for the available commands, the server reports an error.

<iq id='45'
	to='mail.localhost'
	type='get'
	xml:lang='es'>
  <query xmlns='http://jabber.org/protocol/disco#info'
	node='http://jabber.org/protocol/commands'/>
</iq>

<iq from='mail.localhost'
	to='badlop@localhost/Tka'
	xml:lang='es'
	id='45'
	type='error'>
  <query xmlns='http://jabber.org/protocol/disco#info'
	node='http://jabber.org/protocol/commands'/>
  <error code='404'
	type='cancel'>
    <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>The addressed JID or item requested cannot be found.
  </error>
</iq>

I don't know where the problem is.

disco#items, not disco#info

badlop wrote:
<iq id='45'
	to='mail.localhost'
	type='get'
	xml:lang='es'>
  <query xmlns='http://jabber.org/protocol/disco#info'
	node='http://jabber.org/protocol/commands'/>
</iq>
This is the problem. According to XEP-0050, section 2.2, the client should send a disco#items request to find the available commands, but Tkabber sends a disco#info request instead.

Tkabber also asks items

legoscia wrote:

This is the problem. According to XEP-0050, section 2.2, the client should send a disco#items request to find the available commands, but Tkabber sends a disco#info request instead.

Sorry, on my comment I didn't mention that Tkabber asks both info and items, and the server reports a similar error to each request, with the only different of 'info' and 'items'. I copied only the info part.

So, Tkabber also asks for items, and the response is an error similar to the one shown.

It doubt it's a bug on Tkabber. It may be my fault at configuring ejabberd or PyMailt.

It's working for me

I've added to roster jid like somebody%somemailserver.com@pymailt.mydomain.com. I have to force smtp authentication, but it's another history...

BTW - On top of this page:
user warning: Unknown column 'style' in 'field list' query: SELECT scid, filter, style, effect, action FROM spam_custom WHERE effect != 4 in /usr/local/www/data-dist/drupal/includes/database.mysql.inc on line 172.

Syndicate content