R:250 2.6.4 Address accepted
S:RCPT TO: <dom1user2@subdom1.example.com>
R:250 2.6.4 Address accepted
+S:RCPT TO: <dom1user3@subdom1.example.com>
+R:250 2.6.4 Address accepted
#-------------------------------------------------------------------------
#-sending data
C:DATA
D:Subject: Very Simple email contents
D:From: Maitre Post <postmaster@example.com>
D:To: Remote person <dom1user1@subdom1.example.com>
+D:CC: Other person <dom1user2@subdom1.example.com>
C:T
D:
D:FIRST Line
D:ligne court|
C:.
#-------------------------------------------------------------------------
-R:250 3.5.3 Message accepted for delivery
+R:250 3.5.3 Message accepted for delivery (Session...
S:QUIT
R:221 2.0.0 Bye, closing connection...
/* Procedure to transmit a string to the remot peer*/
/* */
/********************************************************/
-static void transmit(CONTYP *contact,char *fmt,...)
+static void transmit(CONTYP *contact,const char *fmt,...)
{
va_list args;
_Bool done;
FILE *queue;
_Bool completed;
+int total;
+TIMESPEC start;
int phase;
_Bool proceed;
done=false;
queue=(FILE *)0;
completed=false;
+total=0;
phase=0;
proceed=setdirectives(contact,"tmp");
while (proceed==true) {
if ((queue=eml_createqfile(contact->cursesid,""))==(FILE *)0)
phase=999; //trouble trouble
break;
- case 1 : //sending go ahaed to remote
+ case 1 : //adding received stamp to file
if (addreceived(contact,queue)==false)
phase=999; //trouble trouble
break;
- case 2 : //sending go ahaed to remote
+ case 2 : //sending 'go ahead' to remote
+ (void) clock_gettime(CLOCK_REALTIME,&start);
(void) transmit(contact,"%d 3.5.0 %s",
DATAOK,"End data with <CR><LF>.<CR><LF>");
break;
phase=999; //trouble trouble
break; //exiting loop
}
+ total+=got;
if (strcmp(line,".")==0) {
completed=true;
}
phase=999; //Trouble trouble
break;
case 6 : //everything fine
- (void) transmit(contact,"%d 3.5.3 %s",
- CMDOK,"Message accepted for delivery");
+ const char *fmt;
+ unsigned int delta;
+
+ total+=1023;
+ total/=1024; //KBytes
+ delta=rou_getdifftime(&start);
+ fmt="%d 3.5.3 Message accepted for delivery (Session ID=<%s>)";
+ (void) transmit(contact,fmt,CMDOK,contact->cursesid);
+ fmt="DATA stream received: %d Kbytes within %d.%03d seconds";
+ (void) log_fprintlog(contact->logptr,false,fmt,total,delta/1000,delta%1000);
done=true;
proceed=false; //task done
break;
sent+=1023;
sent/=1024; //Sent now in KByes
- fmt="Data Sent %d Kbytes within %d.%03d seconds";
+ fmt="Data stream Sent: %d Kbytes within %d.%03d seconds";
delta=rou_getdifftime(&start);
(void) log_fprintlog(rmt->logptr,false,fmt,sent,delta/1000,delta%1000);
switch (rspcode) {