diff options
author | Eric S. Raymond <esr@thyrsus.com> | 1998-12-30 21:24:40 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 1998-12-30 21:24:40 +0000 |
commit | 0ad59c275bcbc27b63b6f99996eecc99ac559321 (patch) | |
tree | 3303f735e84a0ef476407ef50881dc94af5275ed /sink.c | |
parent | a37cf60e7985ab1fd27758d86c1de72412281c82 (diff) | |
download | fetchmail-0ad59c275bcbc27b63b6f99996eecc99ac559321.tar.gz fetchmail-0ad59c275bcbc27b63b6f99996eecc99ac559321.tar.bz2 fetchmail-0ad59c275bcbc27b63b6f99996eecc99ac559321.zip |
Add more RFC1894.
svn path=/trunk/; revision=2300
Diffstat (limited to 'sink.c')
-rw-r--r-- | sink.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -256,7 +256,7 @@ static int send_bouncemail(struct msgblk *msg, int userclass, /* bounce back an error report a la RFC 1892 */ { char daemon_name[18 + HOSTLEN] = "FETCHMAIL-DAEMON@"; - char boundary[BUFSIZ]; + char boundary[BUFSIZ], *ts; int i, sock; /* don't bounce in reply to undeliverable bounces */ @@ -280,6 +280,8 @@ static int send_bouncemail(struct msgblk *msg, int userclass, "om-mani-padme-hum-%d-%d-%ld", getpid(), getppid(), time((time_t *)NULL)); + ts = rfc822timestamp(); + if (outlevel >= O_VERBOSE) error(0, 0, "SMTP: (bounce-message body)"); @@ -320,6 +322,7 @@ static int send_bouncemail(struct msgblk *msg, int userclass, /* Minimum RFC1894 compliance + Diagnostic-Code field */ SockPrintf(sock, "\r\n"); SockPrintf(sock, "Final-Recipient: rfc822; %s\r\n", idp->id); + SockPrintf(sock, "Last-Attempt-Date: %s\r\n", ts); SockPrintf(sock, "Action: failed\r\n"); if (nerrors == 1) @@ -423,7 +426,9 @@ static int handle_smtp_error(struct query *ctl, struct msgblk *msg) * a future retrieval cycle. * * Bouncemail *might* be appropriate here as a delay - * notification. But it's not really necessary because + * notification (note; if we ever add this, we must make + * sure the RFC1894 Action field is "delayed" rather thwn + * "failed"). But it's not really necessary because * this is not an actual failure, we're very likely to be * able to recover on the next cycle. */ |