]> SAFE projects GIT repository - jmp/mailleur/commitdiff
SMTP command RSET seems to be working
authorJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 14 Jun 2025 10:09:02 +0000 (06:09 -0400)
committerJean-Marc Pigeon (Delson) <jmp@safe.ca>
Sat, 14 Jun 2025 10:09:02 +0000 (06:09 -0400)
Makefile
data-feed/feed02.tst
data-feed/feed03.tst [new file with mode: 0644]
lib/lvleml.c

index 6a6d8031df917c3aa2232404488e05fa5da92037..481a764e6c0a2f258f0db2cb23e7fa5ba259e9c2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -137,11 +137,12 @@ dbgsend   :  clean debug
 
 #--------------------------------------------------------------------
 #testing feed
+ONEFEED=feed03.tst
+
 FEEDPAR        =                                               \
                $(TESTIP)                               \
                $(TESTPORT)                             \
                ./$(DATATST)/feed0*.tst
-ONEFEED=feed13.tst
 
 #to test with an external server
 extfeed        :       debug
index 013b7f06920904a93f109e0e92d61659770a8532..fb00424a6686af6beee2cc07318d8e78809f10f1 100644 (file)
@@ -1,4 +1,4 @@
-T:Sending a very Simple Email top 2 domaines
+T:(feed02) Sending a very Simple Email to 2 domains
 R:220 mailleur.example.com, ESMTP (cleartext) emlrcvr...
 #====================================================
 S:HELO example.com
diff --git a/data-feed/feed03.tst b/data-feed/feed03.tst
new file mode 100644 (file)
index 0000000..70bbac1
--- /dev/null
@@ -0,0 +1,52 @@
+T:(feed03) Sending two email within the same session
+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: <dom1user1@subdom1.example.com>
+R:250 2.6.4 Address accepted
+S:RCPT TO: <dom1user2@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: feed03 email first part
+D:From: Tester <trouble@subdom1.example.com>
+D:To: A User1 <dom1user1@subdom1.example.com>
+D:Cc: A User2 <dom1user2@subdom1.example.com>
+D:
+D:This email was transmitted by feed03 first session
+C:.
+#-------------------------------------------------------------------------
+R:250 3.5.3 Message accepted for delivery...
+#=========================================================================
+#Testing Reset sequence
+S:RSET
+R:250-2.0.0 Flushed session ...
+R:250 2.0.0 Opening new session...
+#-------------------------------------------------------------------------
+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: <dom1user2@subdom1.example.com>
+R:250 2.6.4 Address accepted
+S:RCPT TO: <dom1user1@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: feed03 email second part
+D:From: Tester <trouble@subdom1.example.com>
+D:To: A User1 <dom1user1@subdom1.example.com>
+D:Cc: A User2 <dom1user2@subdom1.example.com>
+D:
+D:This email was transmitted by feed03 second session
+C:.
+#-------------------------------------------------------------------------
+R:250 3.5.3 Message accepted for delivery...
+#=========================================================================
+S:QUIT
+R:221 2.0.0 Bye, closing connection...
index a9be9b737846b8f77e5a55df8ab9bd8f2439309c..534e1a844722199c1777c761185920d10cf6a756 100644 (file)
@@ -790,11 +790,14 @@ return success;
 static _Bool doreset(CONTYP *contact,char *parameter)
 
 {
-(void) transmit(contact,"%d 2.0.0 Flushed session %s",CMDOK,contact->cursesid);
+(void) transmit(contact,"%d-2.0.0 Flushed session %s",CMDOK,contact->cursesid);
 contact->numreset++;
+contact->recipients=(RCPTYP **)rou_freelist((void **)(contact->recipients),
+                                            (genfree_t)eml_freerecipient);
 contact->mailfrom=rou_freestr(contact->mailfrom);
 contact->cursesid=rou_freestr(contact->cursesid);
 contact->cursesid=eml_getcursesid(contact->mainsesid,contact->numreset);
+(void) transmit(contact,"%d 2.0.0 Opening new session %s",CMDOK,contact->cursesid);
 return true;
 }
 /*