【问题标题】:Lotus notes Document appears both in Inbox and SentItemLotus notes Document 同时出现在 Inbox 和 SentItem 中
【发布时间】:2012-07-19 22:02:16
【问题描述】:

我创建了一个 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中没有找到任何文件。

我设置交货日期的代码有什么问题吗? 或我应该尝试的任何其他选择

【问题讨论】:

    标签: lotus-notes


    【解决方案1】:

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

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

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

    您要么必须根据语言环境构建 dateFormat 字符串,要么告诉 ConvertTextToTIMEDATE 使用美国语言环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      相关资源
      最近更新 更多