$(TESTIP) \
$(TESTPORT) \
./$(DATATST)/feed0*.tst
-ONEFEED=feed02.tst
+ONEFEED=feed11.tst
#to test with an external server
extfeed : debug
R:250 Link now encryp...
S:MAIL FROM: <trouble@subdom1.example.com>
R:250 2.1.3 trouble@subdom1.example.com.. sender ok
+#---------------------------------------------
+S:RCPT TO: <dom1user3@example.com>
+R:250 2.6.4 Address accepted
S:RCPT TO: <dom1user3@subdom1.example.com>
R:250 2.6.4 Address accepted
-S:RCPT TO: <dom1user3@example.com>
+S:RCPT TO: <dom1user1@subdom2.example.com>
R:250 2.6.4 Address accepted
#-------------------------------------------------------------------------
#-sending data
ptr=list;
while (*ptr!=(TRATYP *)0) {
- if ((*ptr)->code=='C') {
- if (eml_countqfile((*ptr)->sessid,-1)==0) {
- char fname[200];
-
- (void) rou_alert(0,"%s JMPDBG need to remove <%s>",OPEP,(*ptr)->sessid);
- (void) snprintf(fname,sizeof(fname),"%s.%s",(*ptr)->sessid,EXTCNT);
- (void) eml_deleteqfile((*ptr)->sessid);
- (void) eml_deleteqfile(fname);
- }
+ _Bool toadd;
+
+ toadd=true;
+ switch ((*ptr)->code) {
+ case 'C' : //email completed
+ toadd=false;
+ if (eml_countqfile((*ptr)->sessid,-1)==0) {
+ char fname[200];
+
+ (void) rou_alert(0,"%s JMPDBG need to remove <%s>",OPEP,(*ptr)->sessid);
+ (void) eml_deleteqfile((*ptr)->sessid);
+ (void) snprintf(fname,sizeof(fname),"%s.%s",(*ptr)->sessid,EXTCNT);
+ (void) eml_deleteqfile(fname);
+ }
+ break;
+ case 'W' : //need to send a warning
+ (void) rou_alert(0,"%s JMPDBG need to do warning <%s>",OPEP,(*ptr)->sessid);
+ break;
+ default :
+ break;
}
- else
+ if (toadd==true)
next=(TRATYP **)rou_addlist((void **)next,(void *)eml_duptra(*ptr));
ptr++;
}
resp=&((*dest)->resp);
rspcode=tcp_smtp_command(&rmt,resp,"RCPT TO: <%s>",(*dest)->rcptto);
switch (rspcode) {
- case CMDOK : //originator accepted
+ case CMDOK : //originator accepted
tobesend++;
(*dest)->sendcode=rspcode;
break;
- case UKNUSER : //originator accepted
+ case UKNUSER : //recipient is unknown
+ case NORELAY : //email no relayed
(*dest)->code='W'; //Need to send a Warning
(*dest)->sendcode=rspcode;
break;
- default : //Not accepted recipient
+ default : //Not accepted recipient
(void) rou_alert(0,"%s sessid=<%s>, unknwon code='%d'",
OPEP,sessid,rspcode);
(*dest)->code='C'; //completed (Temporary JMPDBG);
#define UKNUSER 551 //Unknown user
#define MALABRT 552 //email data rejected
#define NOTEML 553 //Not an email address
+#define NORELAY 555 //remote do not relay email
#define MISSMX 563 //NO MX found for recipient
//defining extensions