java - Notesfactory 会话向邮件正文添加签名
问题描述
我有一个成功工作的代码,我使用 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_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"
推荐阅读
- angular - Angular mat-datepicker 奇怪的行为
- mysql - 如何使用nodejs更新mysql json数组
- authentication - 密码重置的登录凭据在 Laravel 7 中不起作用
- scrapy - ScrapingHub 部署失败
- asp.net - 仅当为 true 时才根据需要进行字段验证
- reactjs - 反应中多次调用handleKeyPress方法
- jquery - Sinatra - 4.0.1 无法加载 JQuery - net::ERR_ABORTED 404(未找到)
- android - Android 作为 UVC 相机
- xml - 任务计划程序自定义触发器 - 当 EventID 为 FOO 且 EventData.Data 为 BAR 时启动
- nginx - Nginx 不存储缓存