0
votes

I have created a CPP COM dll to read a EML File and add it to Lotus notes NSF file. Using MIMEContent to create the mails but the problem is when i am adding the document to folder view $Inbox same mail is copied $Sent Item Folder.

i am reading the eml as mime string through chilkat mail and adding it to notes document

MIMEStreamWrite(( unsigned char*)ch_mimeContent,strlen(ch_mimeContent),hMIMEStream); 
if ( error == MIME_STREAM_IO )
 { printf("MIMEStreamPutLine error.\n"); 
MIMEStreamClose(hMIMEStream); return ; } 
// itemize the mime stream to the note error = MIMEStreamItemize( handle,NULL, 0, MIME_STREAM_ITEMIZE_FULL,hMIMEStream); –

solution given To me was to set a deliver date

SYSTEMTIME sysdate;

char   dateFormat[100];
 TIMEDATE    start_time;                   
char        timetext[MAXALPHATIMEDATE+1];   
char        far *text_pointer;
email.get_LocalDate(sysdate);
sprintf(dateFormat,"%02d/%02d/%04d %d:%d:%d",
        //      // sysdate.wMonth, sysdate.wDay, sysdate.wYear,sysdate.wHour,sysdate.wMinute,sysdate.wSecond);
strcpy (timetext, dateFormat);
text_pointer = timetext
STATUS STATUS;
if(STATUS  error2 =     ConvertTextToTIMEDATE(NULL,NULL,
                                                      &text_pointer,
                                                      MAXALPHATIMEDATE,
                                                      &start_time))

if(Status= MailAddHeaderItem(handle, MAIL_DELIVEREDDATE_ITEM_NUM, (char *)(&start_time), (WORD)sizeof(TIMEDATE)))
MIMEStreamClose(hMIMEStream);       
newdoc.Save();

the problem is here when I run this code in my locale that is " English us" it works fine . but for other locale(Germany) it fails given date in lotus note as 17.06.** **:;

i have also tried

LNITEM date;
getitem("Posted date",&date);
and the set the delivery date CreateItem("Delivered Date",&date)

but didnt find any file in nsf.

is there anything wrong in my code of setting the delivery date. or any other alternative i should try

1

1 Answers

0
votes

First of, the solution to set a DeliveredDate is correct.

Regarding your localization problem, consult the C-API documentation, the first parameter to ConvertTextToTIMEDATE, which you NULLed, is a pointer to a structure containing the internationalization settings in effect.

As the German locale does not understand the "month/date/year" syntax you are using (in Europe we usually use the more sane day.month.year or year.month.day syntax ;), ConvertTextToTIMEDATE will fail as you noticed.

You you either have to build the dateFormat string according to the locale or tell ConvertTextToTIMEDATE tu use the US locale.