~singpolyma/cheogram-smtp

cheogram-smtp/gateway.hs -rw-r--r-- 8.4 KiB
jabber:iq:gateway working against my local Gajim
vcard-temp for the gateway

Includes needed license information.
Fix namespaces on attributes

It turns out that attributes should normally *not* have explicit namespaces.
This is because the XML spec says that an attribute with no namespace is
implicity namespaced by the element it is on (to a pseudo namespace partition).

I think this was only ever working because the XML text generator in the XMPP
library is primitive and wasn't adding prefixes.
Add discovery identity response
Return XMPP error when sendmail fails. Allow using a custom sendmail script
Set JID from on vCard request
Fetch vcard4 when sending message and use it for name and X-URL headers
Return XMPP error when message cannot be sent as email

Special case to give nicer error when it's because the JID does not map
to a valid email address. Or else generic error.

This commit also (ugh, also) changes our sendmail call to set recipients
on command line instead of taking them from the headers, which doesn't
change anythnig now really but means we can safely set other headers
later.
Always use line buffering, even when redirected to file

Makes logging work better :)
Upstream changed from strict
Render JID as "name" in email
Add Date header, from delayed deliver if present else now
Baseline bidirectional working for text bodies
Need internal for gateway too