or forward file
SCCS-vsn: usr.sbin/sendmail/src/alias.c 6.34
SCCS-vsn: usr.sbin/sendmail/src/recipient.c 6.38
#ifndef lint
#ifdef NEWDB
#ifdef NDBM
#ifndef lint
#ifdef NEWDB
#ifdef NDBM
-static char sccsid[] = "@(#)alias.c 6.33 (Berkeley) %G% (with NEWDB and NDBM)";
+static char sccsid[] = "@(#)alias.c 6.34 (Berkeley) %G% (with NEWDB and NDBM)";
-static char sccsid[] = "@(#)alias.c 6.33 (Berkeley) %G% (with NEWDB)";
+static char sccsid[] = "@(#)alias.c 6.34 (Berkeley) %G% (with NEWDB)";
-static char sccsid[] = "@(#)alias.c 6.33 (Berkeley) %G% (with NDBM)";
+static char sccsid[] = "@(#)alias.c 6.34 (Berkeley) %G% (with NDBM)";
-static char sccsid[] = "@(#)alias.c 6.33 (Berkeley) %G% (without NEWDB or NDBM)";
+static char sccsid[] = "@(#)alias.c 6.34 (Berkeley) %G% (without NEWDB or NDBM)";
#endif
#endif
#endif /* not lint */
#endif
#endif
#endif /* not lint */
if (transienterror(err))
{
/* we have to suspend this message */
if (transienterror(err))
{
/* we have to suspend this message */
+ if (tTd(27, 2))
+ printf("forward: transient error on %s\n", buf);
+#ifdef LOG
+ if (LogLevel > 2)
+ syslog(LOG_NOTICE, "%s: forward %s: transient error: %e",
+ e->e_id, buf);
+#endif
+ message("%s: %s: message queued", buf, strerror(err));
user->q_flags |= QQUEUEUP|QDONTSEND;
return;
}
user->q_flags |= QQUEUEUP|QDONTSEND;
return;
}
-static char sccsid[] = "@(#)recipient.c 6.37 (Berkeley) %G%";
+static char sccsid[] = "@(#)recipient.c 6.38 (Berkeley) %G%";
#endif /* not lint */
# include "sendmail.h"
#endif /* not lint */
# include "sendmail.h"
message("including file %s", a->q_user);
message("including file %s", a->q_user);
- err = include(a->q_user, FALSE, a, sendq, e);
- if (transienterror(err))
+ ret = include(a->q_user, FALSE, a, sendq, e);
+ if (transienterror(ret))
+ {
+#ifdef LOG
+ if (LogLevel > 2)
+ syslog(LOG_NOTICE, "%s: include %s: transient error: %e",
+ e->e_id, a->q_user);
+#endif
a->q_flags |= QQUEUEUP|QDONTSEND;
a->q_flags |= QQUEUEUP|QDONTSEND;
+ usrerr("451 Cannot open %s: %s",
+ a->q_user, errstring(ret));
+ }
+ else if (ret != 0)
+ {
+ usrerr("550 Cannot open %s: %s",
+ a->q_user, errstring(ret));
+ a->q_flags |= QBADADDR;
+ }
}
}
else if (m == FileMailer)
}
}
else if (m == FileMailer)
int ret = errno;
clrevent(ev);
int ret = errno;
clrevent(ev);
- if (transienterror(ret))
- {
- ctladdr->q_flags |= QQUEUEUP|QDONTSEND;
- errno = 0;
- usrerr("451 Cannot open %s: %s", fname, errstring(ret));
- }
- else
- {
- usrerr("550 Cannot open %s: %s", fname, errstring(ret));
- }