From: Jean-Marc Pigeon Date: Thu, 11 Sep 2025 17:45:46 +0000 (-0400) Subject: email subject line is stored within database X-Git-Tag: tag-0.17~72 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=10795c862a0adcb50d031782bbe79afa348894b0;p=jmp%2Fmailleur email subject line is stored within database --- diff --git a/lib/gessql.c b/lib/gessql.c index 86f8ea3..853a5ac 100644 --- a/lib/gessql.c +++ b/lib/gessql.c @@ -46,7 +46,7 @@ static _Bool mngact(SQLPTR *sqlptr,ACTTYP *act) #define OPEP "gessql.c:sql_mngact," static const char *del="DELETE FROM "ACTTBL" WHERE sessid=%s AND rcptto=%s"; -static const char *ins="INSERT INTO "ACTTBL" (%s) VALUES(%s,%s,%s,%s,%s,%d,%s)"; +static const char *ins="INSERT INTO "ACTTBL" (%s) VALUES(%s,%s,%s,%s,%s,%s,%d,%s)"; _Bool isok; @@ -56,6 +56,7 @@ if (act!=(ACTTYP *)0) { char *gid; char *gsfrom; //SMTP "mail from:" char *ghfrom; //email Header "From:" + char *ghsubject; //email Header "Subject:" char *grcpt; char *gcode; @@ -63,13 +64,14 @@ if (act!=(ACTTYP *)0) { strcode[0]=act->code; gid=sql_gooddata(sqlptr,act->sessid); gsfrom=sql_gooddata(sqlptr,act->sfrom); + ghsubject=sql_gooddata(sqlptr,act->hsubject); ghfrom=sql_gooddata(sqlptr,act->hfrom); grcpt=sql_gooddata(sqlptr,act->rcptto); gcode=sql_gooddata(sqlptr,strcode); if (act->resp!=(char **)0) { char *field; - field="code,sessid,smtpfrom,emailfrom,rcptto,numline,info"; + field="code,sessid,smtpfrom,emailfrom,subject,rcptto,numline,info"; (void) sql_request(sqlptr,del,gid,grcpt); if (act->resp!=(char **)0) { char **resp; @@ -83,7 +85,7 @@ if (act!=(ACTTYP *)0) { ginfo=sql_gooddata(sqlptr,*resp); (void) sql_request(sqlptr,ins,field, gcode,gid, - gsfrom,ghfrom, + gsfrom,ghfrom,ghsubject, grcpt,num,ginfo); ginfo=rou_freestr(ginfo); resp++; @@ -93,6 +95,7 @@ if (act!=(ACTTYP *)0) { } gcode=rou_freestr(gcode); grcpt=rou_freestr(grcpt); + ghsubject=rou_freestr(ghsubject); ghfrom=rou_freestr(ghfrom); gsfrom=rou_freestr(gsfrom); gid=rou_freestr(gid); @@ -143,6 +146,7 @@ if (tralist!=(TRATYP **)0) { action.code=(*tralist)->code; action.sfrom=(*tralist)->sfrom; action.hfrom=(*tralist)->hfrom; + action.hsubject=(*tralist)->hsubject; action.rcptto=(*tralist)->rcptto; action.resp=(*tralist)->resp; (void) mngact(sqlptr,&action); diff --git a/lib/unisql.h b/lib/unisql.h index 62f0b6e..83d7ae7 100644 --- a/lib/unisql.h +++ b/lib/unisql.h @@ -54,6 +54,7 @@ typedef struct { char code; //Email status code char *sfrom; //the "MAIL FROM:" within the SMTP exchange char *hfrom; //the "From:" within the email header + char *hsubject; //the "Subject:" within the email header char *rcptto; //email recipient char **resp; //Multiline status }ACTTYP;