[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: smtp transport seemingly eating bounceback failures

Crispin Bivans wrote:

> While doing tests, I determined that it appears that the 'smtp' transport
> is reporting Status of 'OK' (listed in maillog as 'ok3')  even when a
> badly named email is sent to yahoo. (Example: asdljasdhsah@yahoo.com)


I've been bitten by this too, a while ago, and now I did some investigation.

Summary: smtp transport reports success if remote reported [45]xx code
after transmission of data (in response to '.').  Result is messages
disappearing without notice.

It seems that the culprit is arond line 3845 in smtp.c.  Can you clarify
why you are setting DATASTATE_OK if you have RCPTSTATE_OK?  To me, it looks
all wrong.  At least, after the patch below, it seems to behave right.

Index: transports/smtp/smtp.c
RCS file: /cvsroot/zmailer/transports/smtp/smtp.c,v
retrieving revision 1.232
diff -u -r1.232 smtp.c
--- transports/smtp/smtp.c      2001/03/07 23:00:24     1.232
+++ transports/smtp/smtp.c      2001/04/28 09:07:25
@@ -3843,10 +3843,6 @@
                  fprintf(SS->verboselog, " LMTP diagnostic() done; rc=%d
code=%d datarp->lockoffset=%d%s\n", rc, code, datarp->lockoffset,
datarp->lockoffset ? " **NOT ZERO!**":"");
              } /* LMTP mode */
-             if (idx > 0) {
-               if (SS->rcptstates & RCPTSTATE_OK)
-                 SS->rcptstates |= DATASTATE_OK;
-             }
          } /* end if 'code' interpretation */