]> SAFE projects GIT repository - jmp/mailleur/commitdiff
feed13 is good to rebounce email (need to workout attachement)
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Fri, 13 Jun 2025 17:06:05 +0000 (13:06 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Fri, 13 Jun 2025 17:06:05 +0000 (13:06 -0400)
Makefile
data-feed/feed10.tst
data-feed/feed12.tst
data-feed/feed13.tst [new file with mode: 0644]
lib/devlog.c
lib/geseml.c

index ae31ac87bac14c0836e8b794ffd333cd7daf036b..6a6d8031df917c3aa2232404488e05fa5da92037 100644 (file)
--- 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
index e9945b456584549c5964776628049a962b6b1432..72c3d226d61387836982e31e703f7f47a7bfb120 100644 (file)
@@ -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: <postmaster@example.com>
 R:250 2.1.3 postmaster@example.com.. sender ok
 S:RCPT TO: <dom1user1@subdom0.example.com>
-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: <dom1user1@subdom1.example.com>
 R:250 2.6.4 Address accepted
 S:QUIT
index 21da61f6fa6e9c53d971cf0a4d08d280541bd74c..8fc56aa5e74770e7edfff2850a50b2f9ecc4e15f 100644 (file)
@@ -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 (file)
index 0000000..53bb0c9
--- /dev/null
@@ -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: <trouble@subdom1.example.com>
+R:250 2.1.3 trouble@subdom1.example.com.. sender ok
+S:RCPT TO: <dom1user3@subdom1.example.com>
+R:250 2.6.4 Address accepted
+#-------------------------------------------------------------------------
+#-sending data
+C:DATA 354 3.5.0 End data with <CR><LF>.<CR><LF>
+D:Subject: A email to not exitsing user
+D:From: Trouble maker <subdom1.example.com
+D:To: Not existing <dom1user3@subdom1.example.com>
+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...
index 953cbab6b9e2d2a59a207b613dc8a055e2a475d0..426e36f20ac3184d77232766e42da534d61e3b5b 100644 (file)
@@ -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) {
index ab4f55b1c9339cab2a1082b00aa417abc9e22d95..02829f1933ecf631c4e1cec9c63526204a2e4b7c 100644 (file)
@@ -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