]> SAFE projects GIT repository - jmp/mailleur/commitdiff
Looking for the No valid MX found for recipient
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 23:25:59 +0000 (19:25 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 26 Jul 2025 23:25:59 +0000 (19:25 -0400)
data-feed/feed009.tst
lib/lvleml.c
lib/lvleml.h
lib/modrec.c
sql/datatest.sql

index 488ce9044b1c3b134a305dc93064460a8ebe6551..a52d16d5a532072659d038a43739669b3995d925 100644 (file)
@@ -14,8 +14,8 @@ R:250-8BITMIME
 R:250 ENHANCEDSTATUSCODES
 S:MAIL FROM:<jmrcpn@gmail.com> SIZE=2958
 R:250 2.1.3 jmrcpn@gmail.com sender ok
-S:RCPT TO:<user1@tar2.osukiss.org>
-R:250 2.6.4 Address accepted <user1@tar2.osukiss.org>
+S:RCPT TO:<user1@mailleur.example.com>
+R:250 2.6.4 Address accepted <user1@mailleur.example.com>
 #-------------------------------------------------------------------------
 #-sending data
 C:DATA 354 3.5.0 End data with <CR><LF>.<CR><LF>
index f27e71c0d59ab52422ad2c32321e4e00c39af12b..7afbce724499b4ecf4a85592e5be503fc71c9fea 100644 (file)
@@ -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
index 505eaf1f32a10f9f9780585401e60d3f539657ae..3baf35187d36ed91136aceaef88214ce839415be 100644 (file)
@@ -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
index 8955f3f0df68e03d51cc9b03c566d2b59fab578f..2245fa2af80922c6262d8fc65a4564ccc1d8ac90 100644 (file)
@@ -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);
         }
index b48ff854914afd627f33d29a0b3effdaf6432f94..0d4826a76899e18e1bc870420c5a198f56e35c15 100644 (file)
@@ -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)                            \