Lotus Notes文档同时出现在Inbox和SentItem中

时间:2012-07-20 15:36:28

标签: lotus-notes

我创建了一个CPP COM dll来读取EML文件并将其添加到Lotus Notes NSF文件中。使用MIMEContent创建邮件,但问题是当我将文档添加到文件夹视图时$ Inbox同一邮件被复制$ Sent Item Folder。

我正在通过chilkat邮件将eml作为mime字符串阅读并将其添加到备注文档

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); –

给出的解决方案是设置交付日期

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();

问题在于,当我在我的语言环境中运行此代码时,“我们是英语”它运行正常。 但对于其他语言环境(德国),它在莲花笔记中的日期失败为17.06。 ** **:;

我也试过

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

但在nsf中找不到任何文件。

我的设定交货日期的代码有什么问题。 或任何其他我应该尝试

1 个答案:

答案 0 :(得分:0)

首先,设置DeliveredDate的解决方案是正确的。

关于您的本地化问题,请参阅C-API文档,您转换为NULL的ConvertTextToTIMEDATE的第一个参数是指向包含有效国际化设置的结构的指针。

由于德语区域设置不理解您使用的“月/日/年”语法(在欧洲我们通常使用更合理的day.month.year或year.month.day语法;),ConvertTextToTIMEDATE将失败你注意到了。

您要么必须根据区域设置构建dateFormat字符串,要么告诉ConvertTextToTIMEDATE使用美国区域设置。