From: Jean-Marc Pigeon (Delson) Date: Sat, 26 Jul 2025 23:25:59 +0000 (-0400) Subject: Looking for the No valid MX found for recipient X-Git-Tag: tag-0.14~5 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=eec2f1460ee14753ce51adae8847e4f81eda462e;p=jmp%2Fmailleur Looking for the No valid MX found for recipient --- diff --git a/data-feed/feed009.tst b/data-feed/feed009.tst index 488ce90..a52d16d 100644 --- a/data-feed/feed009.tst +++ b/data-feed/feed009.tst @@ -14,8 +14,8 @@ R:250-8BITMIME R:250 ENHANCEDSTATUSCODES S:MAIL FROM: SIZE=2958 R:250 2.1.3 jmrcpn@gmail.com sender ok -S:RCPT TO: -R:250 2.6.4 Address accepted +S:RCPT TO: +R:250 2.6.4 Address accepted #------------------------------------------------------------------------- #-sending data C:DATA 354 3.5.0 End data with . diff --git a/lib/lvleml.c b/lib/lvleml.c index f27e71c..7afbce7 100644 --- a/lib/lvleml.c +++ b/lib/lvleml.c @@ -89,6 +89,7 @@ static CONTYP *freecontact(CONTYP *contact) if (contact!=(CONTYP *)0) { (void) freesessid(contact); + contact->termend=rou_freestr(contact->termend); contact->sqlptr=sql_closesql(contact->sqlptr); contact->logptr=log_closelog(contact->logptr); contact->relayok=(AFNTYP **)rou_freelist((void **)contact->relayok, @@ -2402,9 +2403,8 @@ while (proceed==true) { status=-3; break; } - (void) log_fprintlog(contact->logptr,true,"Contact terminated (credit='%d'); " - "condition=<%s>", - contact->credit,str); + contact->termend=rou_freestr(contact->termend); + contact->termend=strdup(str); //(void) rou_alert(0,"%s exit status='%d'",OPEP,status); break; //no need to go further @@ -2427,6 +2427,8 @@ while (proceed==true) { break; case c_quit : //QUIT SMTP protocol contact->credit++; //clean disconnect + contact->termend=rou_freestr(contact->termend); + contact->termend=strdup("QUIT received"); (void) transmit(contact,true,"%d 2.0.0 Bye, closing connection CNT=%s", QUITOK,contact->mainsesid); status=1; //every thing fine diff --git a/lib/lvleml.h b/lib/lvleml.h index 505eaf1..3baf351 100644 --- a/lib/lvleml.h +++ b/lib/lvleml.h @@ -32,6 +32,7 @@ typedef struct { AFNTYP **relayok; //List of IP which are relayable int numreset; //number of SMTP reset received char *mainsesid; //session main ID + char *termend; //contact ending condition SESTYP *session; //SMTP current session information char *mailfrom; //current mail from originator RCPTYP **recipients; //List of email recipient diff --git a/lib/modrec.c b/lib/modrec.c index 8955f3f..2245fa2 100644 --- a/lib/modrec.c +++ b/lib/modrec.c @@ -212,8 +212,12 @@ while (proceed==true) { break; default : //SAFE guard if (contact!=(CONTYP *)0) { - (void) log_fprintlog(contact->logptr,true," (%s, credit='%d')", - "Contact terminated",contact->credit); + static const char *cmt; + + cmt=" (Contact terminated, credit='%d' condition=<%s>)"; + (void) log_fprintlog(contact->logptr,true,cmt, + contact->credit, + contact->termend); (void) sql_newconnect(contact->sqlptr,contact->peerip,-1); contact=eml_dropcontact(contact); } diff --git a/sql/datatest.sql b/sql/datatest.sql index b48ff85..0d4826a 100644 --- a/sql/datatest.sql +++ b/sql/datatest.sql @@ -15,6 +15,8 @@ INSERT INTO emails (email,password) \ values ('webmaster@example.com','webmaster'); INSERT INTO emails (email,password) \ values ('utf8-áö_üñ@example.com','utf8-áö_üñ'); +INSERT INTO emails (email,password) \ + values ('user1@mailleur.example.com','user1'); //Set for system iwith Postgresql database INSERT INTO emails (email,password) \