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>
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,
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
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
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
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);
}
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) \