首页 > 解决方案 > Notesfactory 会话向邮件正文添加签名

问题描述

我有一个成功工作的代码,我使用 notesfactory 会话从 Java 代码发送 Lotus Notes 电子邮件

代码是

Document email=db.createDocument();
email.appendItemValue("subject",subjectText);
RichTextItem body=email.createRichTextItem("body");
body.appendText(bodytext);

等等..

但我不知道如何为其添加签名。

标签: javalotus-notes

解决方案


Lotus Notes 的签名保存在不同项目的 CalendarProfile 中。如果用户在“选择您想要使用的签名类型”选项中选择了“Richtext”,则签名位于名为“Signature_Rich”的 Richtextitem 中。然后你的代码会看起来像这样(注意:我没有检查文档的拼写是否正确,该代码中可能存在拼写错误/大写/小写错误):

Document profile=db.getProfileDocument("CalendarProfile");
if (profile.getItemValueString("SignatureOption") == "3") 
{
  RichTextItem bodySign=(RichTextItem)profile.getFirstItem("Signature_Rich")
  body.appendRTItem(bodySign)
}

如果用户在该选项中选择了“纯文本”,那么您需要附加项目“Signature_1”中的内容:

Document profile=db.getProfileDocument("CalendarProfile");
if (profile.getItemValueString("SignatureOption") == "1") 
{
  RichTextItem bodySign=(RichTextItem)profile.getFirstItem("Signature_Rich")
  body.appendText(profile.getItemValueString("Signature_1"));
}

可能有必要body.addNewLine(1)在两者之间添加一些以获取文本和签名之间的换行符/距离。

如果用户选择了“HTML 或图像文件”,那么事情就会变得复杂,因为在项目“Signature_2”中是必须附加的文件的路径......我让你自己来获取生成的代码签名选项 = "2"


推荐阅读