Hello Gerhard,
it is maybe a little bit haarsplitting that I'm insisting to find the original envelop sender in the "From " line (= FROM_ line). But in my opinion this is part of the mbox format definition.
[http://www.qmail.org/man/man5/mbox.html]
The From_ line always looks like From envsender date moreinfo. envsender is one word, without spaces or tabs; it is usually the envelope sender of the message.
and
HOW A MESSAGE IS DELIVERED Here is how a program appends a message to an mbox file. It first creates a From_ line given the message's envelope sender and the current date. If the envelope sender is empty (i.e., if this is a bounce message), the program uses MAILER-DAEMON instead. If the envelope sender contains spaces, tabs, or newlines, the program replaces them with hyphens.
Dovecot uses mboxcl2, which basically handles the "From " line like mboxo (=mbox?)
Indeed it's not a bug to ignore the envelop sender and use "From MAIL-DEAMON ..." when delivering. But in this case deliver should add Return-Path: <envelop-sender> if not already present
Think about bouncing a already delivered message:
This mail can be bounced From beckerr@fh-trier.de Thu Dec 1 05:12:01 2005 From: some-list some-list@list-home.org To: some-list some-list@list-home.org Subject: test
This message too From MAILER-DAEMON Thu Dec 1 05:12:01 2005 Return-Path: beckerr@fh-trier.de From: some-list some-list@list-home.org To: some-list some-list@list-home.org Subject: test
But this message can not be bounced, because the envelop sender is unknown: From MAILER-DAEMON Thu Dec 1 05:12:01 2005 From: some-list some-list@list-home.org To: some-list some-list@list-home.org Subject: test
ok... actually this messages could be bounced to, but would be bounced to the mailing list, which is a bad idea :-)
And something completely different:
I've implemented DELIVER_SKIP_PATH testing. I don't want to publish a patch for a patch. Do you want to put the new patch on your homepage or should I but it on mine?
This is what I've added:
[src/mailfold.c @216] int isinbox = 0; if (s_org_mail) isinbox = !strcmp(s_org_mail, boxname);
// rb - start if (trydeliver && program) { char *skip_path = getenv("DELIVER_SKIP_PATH"); if (skip_path) { char *i=skip_path; while (*i) { char *j, *k;
for (j=i; *j && *j!=':'; j++)
;
k=j;
for (k=j; k>i && k[-1]=='/'; k--)
;
if (i!=k && strncmp(boxname,i,k-i)==0 && (boxname[k-i]=='/'
|| !boxname[k-i])) { yell("skipping delivering through external program for ", boxname); program = NULL; break; } if (!*j) break; i=j+1; } } } // rb - end if (trydeliver && program && ((!isinbox && !isabsolute) || (isinbox && deliver_inbox) || (isabsolute && deliver_absolute_path)) ) {
Bye, Ralf
Gerhard Wiesinger schrieb am 09.01.2007 18:37:
Hello!
Yes, DELIVER_SKIP_PATH would be a good idea. But I really wanted to avoid to use procmail at all.
BTW: What is your problem with the first FROM line, I really didn't unterstand the problem there?
Ciao, Gerhard
--
Dipl.-Inform. (FH) Ralf Becker Rechenzentrum (r/ft) der FH Trier (Network|Mail|Web|Firewall) University of applied sciences Administrator Schneidershof, D-54293 Trier
Mail: beckerr@fh-trier.de Fon: +49 651 8103 499 WWW: http://www.fh-trier.de/~beckerr Fax: +49 651 8103 214 PGP: http://www.fh-trier.de/~beckerr/pgp ICQ: <available>
Wenn Gott gewollt haette, dass E-Mail in HTML geschrieben wuerden, endeten Gebete traditionell mit </amen>. (Tom Listen)