$Log$
+ Revision 580.81 2001/12/01 07:18:28 ajc
+ * Fixed an SMTP delivery problem that was causing certain classes of
+ transient errors to cause a message to never be delivered.
+
Revision 580.80 2001/12/01 05:26:01 ajc
* Added a command "SMTP" to the Citadel protocol, to do some unimportant
utility/diagnostic functions.
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-
time_t last_attempted = 0L;
time_t retry = SMTP_RETRY_INTERVAL;
+ lprintf(9, "smtp_do_procmsg(%ld)\n", msgnum);
+
msg = CtdlFetchMessage(msgnum);
if (msg == NULL) {
lprintf(3, "SMTP: tried %ld but no such message!\n", msgnum);
for (i=0; i<lines; ++i) {
extract_token(buf, instr, i, '\n');
if (num_tokens(buf, '|') < 2) {
- lprintf(9, "removing <%s>\n", buf);
remove_token(instr, i, '\n');
--lines;
--i;
}
/* Plow through the instructions looking for 'remote' directives and
- * a status of 0 (no delivery yet attempted) or 3 (transient errors
+ * a status of 0 (no delivery yet attempted) or 3/4 (transient errors
* were experienced and it's time to try again)
*/
lines = num_tokens(instr, '\n');
status = extract_int(buf, 2);
extract(dsn, buf, 3);
if ( (!strcasecmp(key, "remote"))
- && ((status==0)||(status==3)) ) {
+ && ((status==0)||(status==3)||(status==4)) ) {
remove_token(instr, i, '\n');
--i;
--lines;