diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index fec1a43c08815bd5c2358a344e338c050e584d67..3309d6557199d68cb9b371338bc367d0920082e6 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -1699,6 +1699,8 @@ static void smtp_thread(void* arg) system(cmdstr(p, msgtxt_fname, rcptlst_fname, proc_err_fname, str)); if(flength(proc_err_fname)>0) break; + if(!fexist(msgtxt_fname) || !fexist(rcptlst_fname)) + break; } fclose(proc_cfg); if(flength(proc_err_fname)>0 @@ -1720,6 +1722,12 @@ static void smtp_thread(void* arg) remove(proc_err_fname); continue; } + if(!fexist(msgtxt_fname) || !fexist(rcptlst_fname)) { + lprintf("%04d SMTP external process removed %s" + ,socket, fexist(msgtxt_fname)==FALSE ? "message text" : "recipient list"); + sockprintf(socket,ok_rsp); + continue; + } } /* Re-open files */