Java 注意工厂会话将签名添加到邮件正文

Java 注意工厂会话将签名添加到邮件正文,java,lotus-notes,Java,Lotus Notes,我有一个成功运行的代码,其中我使用notesfactory会话从java代码发送lotus notes电子邮件 代码是 Document email=db.createDocument(); email.appendItemValue("subject",subjectText); RichTextItem body=email.createRichTextItem("body"); body.appendText(bodytext); 等等 但是我不知道如何添加签名。来自Lotus Note

我有一个成功运行的代码,其中我使用notesfactory会话从java代码发送lotus notes电子邮件

代码是

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


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

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

如果用户在该选项中选择了“纯文本”,则您需要附加“签名\ 1”项中的内容:

可能需要在中间添加一些
body.addNewLine(1)
,以获得换行符/文本和签名之间的距离


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

您是在谈论对邮件进行签名(从技术上讲,就像使用证书)还是添加签名(致以最诚挚的问候…)向邮件正文致意?向邮件正文致意您创建正文的代码在哪里?我已经用代码更新了我的问题..请参考您添加的一行写有Body.appendText(signatureText)Thanx torsten…很抱歉更新太晚。但它可以工作。只需一次更新..profile.getFirstItem(“签名丰富”);而不是profile.getFirstItem(“签名”);还有一个问题。现在我尝试直接发送电子邮件,而不是保存为草稿。我试过发邮件。发送(真);但是如果电子邮件在send文件夹中不可见,那么任何建议plzFirst:User emal.send(false)作为附加表单都是一个坏主意。第二:如果您希望邮件显示为“已发送”,那么它需要一个项目“PostedDate”。只需设置emal.SaveMessageOnSend=true,然后emal.replaceItemValue(“PostedDate”,当前日期/时间)我的电子邮件已成功发送…显示在已发送文件夹中,但收件人未接收到它们
Document profile=db.getProfileDocument("CalendarProfile");
if (profile.getItemValueString("SignatureOption") == "3") 
{
  RichTextItem bodySign=(RichTextItem)profile.getFirstItem("Signature_Rich")
  body.appendRTItem(bodySign)
}
Document profile=db.getProfileDocument("CalendarProfile");
if (profile.getItemValueString("SignatureOption") == "1") 
{
  RichTextItem bodySign=(RichTextItem)profile.getFirstItem("Signature_Rich")
  body.appendText(profile.getItemValueString("Signature_1"));
}