c++ - 检查是否在外发电子邮件的传递选项中检查了签名/加密

标签 c++ lotus-notes

我正在为 Lotus Notes 编写一个 C++ 插件。当用户发送电子邮件时,我想知道是否在外发电子邮件的传递选项中选中了签名/加密选项。

我尝试使用 NSFNoteIsSignedOrSealed,为外发笔记提供句柄,但即使选中签名/加密,它也会返回 false。 (我猜是因为在调用插件时电子邮件尚未加密/签名)。我在头文件 stdnames.h 中看到定义了 ITEM_NAME_NOTE_FORCESIGN 和 ITEM_NAME_NOTE_FORCESEAL,这听起来很有希望。如何使用票据的 HANDLE 检查这些项目的值(value)?

最佳答案

令我感到有些惊讶的是,您在编写 Notes 插件模块时还没有学会如何从文档中读取文本项值,或者至少没有学会您可以在文档中的哪个位置了解如何读取文本项值。下面的代码实际上只是从 Notes C API 用户指南,第 5-3 章,阅读文档中剪切/粘贴,除了我已经冒昧地更改了该页面上示例代码中使用的常量的字段名称以匹配您要查找的两个字段之一。

/* Look for the Sign field within this note. */
  field_found = NSFItemIsPresent (note_handle,
                ITEM_NAME_NOTE_FORCESIGN,
                strlen (ITEM_NAME_NOTE_FORCESIGN));

  /* If Sign field is there, get contents and print it.
   If the Sign field is not there, print a message.*/
  if (field_found)
   {
   field_len = NSFItemGetText (note_handle, 
                ITEM_NAME_NOTE_FORCESIGN,
                field_text,
                sizeof (field_text));
   printf ("ITEM_NAME_NOTE_FORCESIGN field is: %s\n", field_text);
   }
  else
   printf ("ITEM_NAME_NOTE_FORCESIGN field not found.\n");

关于c++ - 检查是否在外发电子邮件的传递选项中检查了签名/加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23974370/

相关文章:

python-2.7 - Python - Lotus Notes(发送电子邮件)

c++ - 为什么 setter 不更改 C++ 中的值?

c++ - 关于位域的问题吗?

c++ - 如何在 boost::dynamic_bitset<> 中查找第一次和最后一次出现

c++ - 多个输入和美元符号的 iomanip 格式 - C++

email - 我可以使用 Lotus Notes 发送邮件吗?

c# - 获取当前打开的文档

java - Sametime 内的插件与 Lotus Notes Classess - 整个故事

lotus-notes - 如何检索 Lotus Notes 数据库的 "Record activity"标志?

c++ - 虚拟继承实际上是如何工作的?