Re: [exim] Exim autoreply (MAIL FROM:<>)

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Nmz
Date:  
À: Exim, Nmz
Sujet: Re: [exim] Exim autoreply (MAIL FROM:<>)


> The DATA portion, more specifically the header of your message, doesn't
> contain a *valid* From: line.


Can you show me the valid line of "FROM" please.

> The following lines are the spooled message, Exim can't send to the
> remote server? If so, then they're poorly obfuscated and do not match
> the above communication example.


> Please repost with *unobfuscated* addresses


Exim can not send mail (others servers do not accepts) only on auto replays.

If I change manually header file from:

xx-xx-x-H
Debian-exim 106 111
<>
1477166506 0

to:

xx-xx-x-H
Debian-exim 106 111
<mail@from>
1477166506 0

and exim -M id -> mail pass to send.


> I think, the double quotes are wrong in the most, if not in all, places.
> E.g. it would lead to


>     From: "hans@???"


> which IMHO is not valid. But, OTOH doesn't fit the spooled message…


I changed transport from = "${local_part}@${domain}" -> from = ${local_part}@${domain}
same result (can not send the mail).

--------------


I looked at src/src/transports/autoreply.c and I saw only preparation of headers for mail.

But the line...

https://github.com/Exim/exim/blob/584ddd64e2f0caa3673bb219407e084826f5d965/src/src/transports/autoreply.c#L561

# pid = child_open_exim(&fd);

lead to...

https://github.com/Exim/exim/blob/584ddd64e2f0caa3673bb219407e084826f5d965/src/src/child.c#L190

# pid_t
# child_open_exim(int *fdptr)
# {
# return child_open_exim2(fdptr, US"<>", bounce_sender_authentication);
# }

As you can see second parameter is US"<>"

So I changed autoreply.c

--- autoreply.c.org     2016-10-25 16:28:45.726606816 +0000
+++ autoreply.c 2016-10-25 17:24:37.334606816 +0000
@@ -558,7 +558,14 @@


/* Make a subprocess to send the message */

-pid = child_open_exim(&fd);
+if (from != NULL)
+  {
+    pid = child_open_exim2(&fd, from, bounce_sender_authentication);
+  }
+else
+  {
+    pid = child_open_exim(&fd);
+  }


/* Creation of child failed; defer this delivery. */


and Exim do auto replays like a charm