Hi there! I got the following problem: There are some big exim-servers, which do not take mails from my ezmlm-idx mailinglists.
It took me a while, but i figured it out:
There is character used in the AUTH-tag, which causes exim to refuse
the mail: '='.
Details:
- ezmlm-idx/qmail-ldap produce something like this:
"MAIL FROM: <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>"
- You will get this mail back:
"Remote host said: 501 <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>:
malformed address: SIZE=123 AUTH=<list-return-1- may not follow <[EMAIL PROTECTED]>"
Reproduce:
If want to check it, than you should know the following:
exim checks the AUTH-tag only if he has offered AUTH. So you have to
do a "starttls" first. But you can do a "starttls" only, if he has
already offered it. ;)
So, that's why you have to patch openssl... :-/
Search for s_client and do something like this:
--- s_client.c.orig 2004-07-13 12:46:10.226183456 +0200
+++ s_client.c 2004-07-12 18:06:13.372657944 +0200
@@ -588,6 +588,8 @@
if (starttls_proto == 1)
{
BIO_read(sbio,mbuf,BUFSIZZ);
+ BIO_printf(sbio,"EHLO gwdg.de\r\n");
+ BIO_read(sbio,mbuf,BUFSIZZ);
BIO_printf(sbio,"STARTTLS\r\n");
BIO_read(sbio,sbuf,BUFSIZZ);
}
Now, you can mess around with mailer.gwdg.de. :-)
./openssl s_client -starttls smtp -connect mailer.gwdg.de:25
[...]
EHLO gwdg.de
[...]
MAIL FROM: <[EMAIL PROTECTED]> SIZE=123 AUTH=<[EMAIL PROTECTED]>
RFC2554:
'=' is not allowed. There is an example, which looks like this:
MAIL FROM:<[EMAIL PROTECTED]> [EMAIL PROTECTED]
The '=' gets converted to +3D (hex).
Solution:
Donnow, since qmail-remote.c uses the sender for the AUTH-field it's
probably its duty to convert the stuff?!
But this is up to you. :-P
Bis denne,
Aiko
--
354 go ahead punk, make my day
--qmail
pgpDKcmm2inS5.pgp
Description: PGP signature
