From: Jean-Marc Pigeon (Delson) Date: Fri, 13 Jun 2025 17:06:05 +0000 (-0400) Subject: feed13 is good to rebounce email (need to workout attachement) X-Git-Tag: tag-0.8~5 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=abaeb901f0a1f7eddaf21e579a6f4fea9bee4d9a;p=jmp%2Fmailleur feed13 is good to rebounce email (need to workout attachement) --- diff --git a/Makefile b/Makefile index ae31ac8..6a6d803 100644 --- a/Makefile +++ b/Makefile @@ -141,7 +141,7 @@ FEEDPAR = \ $(TESTIP) \ $(TESTPORT) \ ./$(DATATST)/feed0*.tst -ONEFEED=feed11.tst +ONEFEED=feed13.tst #to test with an external server extfeed : debug diff --git a/data-feed/feed10.tst b/data-feed/feed10.tst index e9945b4..72c3d22 100644 --- a/data-feed/feed10.tst +++ b/data-feed/feed10.tst @@ -1,15 +1,14 @@ #very simple test to feed SMTP server #==================================================== T:(feed10) Testing if MX is found -R:220 mailleur.example.com ESMTP (cleartext) emlrcvr... +R:220 mailleur.example.com, ESMTP (cleartext) emlrcvr... #==================================================== S:HELO example.com -#R:250-mailleur.example.com, link (cleartext) ready, your IP/FQDN=[127.127.0.2/feed2.example.com] -R:250-mailleur.example.com, link (cleartext) ready,... +R:250 mailleur.example.com, link (cleartext) ready,... S:MAIL FROM: R:250 2.1.3 postmaster@example.com.. sender ok S:RCPT TO: -R:563 5.6.3 No valid MX found for recipient domain name (rcpt=subdom0.example.com) +R:563 5.6.3 No valid MX found for recipient domain name (domain=subdom0.example.com) S:RCPT TO: R:250 2.6.4 Address accepted S:QUIT diff --git a/data-feed/feed12.tst b/data-feed/feed12.tst index 21da61f..8fc56aa 100644 --- a/data-feed/feed12.tst +++ b/data-feed/feed12.tst @@ -1,5 +1,5 @@ #==================================================== -T:(feed12) Trying to send Email whil there no recipient known +T:(feed12) Trying to send Email while the domain is without MX R:220 mailleur.example.com, ESMTP (cleartext) emlrcvr... #==================================================== S:HELO example.com diff --git a/data-feed/feed13.tst b/data-feed/feed13.tst new file mode 100644 index 0000000..53bb0c9 --- /dev/null +++ b/data-feed/feed13.tst @@ -0,0 +1,26 @@ +#==================================================== +T:(feed12) Trying to send Email while the recipient unknown +R:220 mailleur.example.com, ESMTP (cleartext) emlrcvr... +#==================================================== +S:HELO example.com +R:250 mailleur.example.com, link (cleartext) ready,... +S:MAIL FROM: +R:250 2.1.3 trouble@subdom1.example.com.. sender ok +S:RCPT TO: +R:250 2.6.4 Address accepted +#------------------------------------------------------------------------- +#-sending data +C:DATA 354 3.5.0 End data with . +D:Subject: A email to not exitsing user +D:From: Trouble maker +C:T +D: +D:This mail should be sent back to the originator +D: +D: +C:. +#------------------------------------------------------------------------- +R:250 3.5.3 Message accepted for delivery (Session... +S:QUIT +R:221 2.0.0 Bye, closing connection... diff --git a/lib/devlog.c b/lib/devlog.c index 953cbab..426e36f 100644 --- a/lib/devlog.c +++ b/lib/devlog.c @@ -81,7 +81,7 @@ event=(char *)0; phase=0; proceed=true; while (proceed==true) { - //(void) rou_alert(0,"JMPDBG %s phase='%d'",OPEP,phase); + //(void) rou_alert(0,"JMPDBG %s phase='%d' pid='%d'",OPEP,phase,getpid()); switch (phase) { case 0 : //do we have a log name? if (logname==(char *)0) { @@ -188,13 +188,14 @@ while (proceed==true) { } break; case 1 : //generating log file name + char *loc; + char cmt[200]; + log=(LOGTYP *)calloc(1,sizeof(LOGTYP)); - log->filename=rou_apppath(logdir); - log->filename=(char *)realloc(log->filename, - strlen(log->filename)+strlen(logname)+10); - (void) strcat(log->filename,logname); - (void) strcat(log->filename,".jrl"); - + loc=rou_apppath(logdir); + (void) snprintf(cmt,sizeof(cmt),"%s%s-%05d.jrl",loc,logname,getpid()); + loc=rou_freestr(loc); + log->filename=strdup(cmt); break; case 2 : //opening the log file if ((log->file=fopen(log->filename,"w"))==(FILE *)0) { diff --git a/lib/geseml.c b/lib/geseml.c index ab4f55b..02829f1 100644 --- a/lib/geseml.c +++ b/lib/geseml.c @@ -777,7 +777,7 @@ done=false; phase=0; proceed=true; while (proceed==true) { - (void) rou_alert(0,"JMPDBG %s phase='%d'",OPEP,phase); + //(void) rou_alert(0,"JMPDBG %s phase='%d'",OPEP,phase); switch (phase) { case 0 : //check if email is FROM local or remote char *domain; @@ -811,6 +811,7 @@ while (proceed==true) { tra->rcptto=rou_freestr(tra->rcptto); tra->rcptto=tra->mailfrom; tra->mailfrom=strdup(orig); + tra->delay=0; done=true; break; case 2 : //building the new sessid file