大家好我正在通过java发送一封莲花笔记的电子邮件。我可以发送一封电子邮件。对于外部附件,我正在构建一个富文本项目。但我没有得到如何处理内联附件,如邮件正文部分内的图像。 这是我正在使用的代码。谢谢
Document doc = null;
RichTextItem rti = null;
try{
doc = db.createDocument();
doc.replaceItemValue(ServiceConstants.FROM,getFrom() );
doc.replaceItemValue(ServiceConstants.FORM, getForm());
doc.replaceItemValue(ServiceConstants.SUBJECT, getSubject());
doc.replaceItemValue(ServiceConstants.SENDTO,asVector(getSendTo()));
doc.replaceItemValue(ServiceConstants.COPYTO,asVector(getCopyTo()));
doc.replaceItemValue("Principal",getFrom());
rti = doc.createRichTextItem(ServiceConstants.BODY);
rti.appendText(getBody());
if ((getAttachment() != null) && (getAttachment().length > 0)) {
for (int i=0; i<getAttachment().length; i++) {
getAttachment()[i].save(rti);
}
}
doc.save();
if (send) {
doc.send();
}
答案 0 :(得分:3)
NotesRichTextItem类的功能相当有限。有一个名为MIDAS的第三方API来自一家名为Genii Software的公司,它功能更强大,可以为您提供所需的功能,但它是商业软件,通常用于LotusScript。我甚至不确定Genii是否支持Java。
也就是说,另一种方法是使用NotesMIMEEntity类而不是NotesRichTextItem。要在MIME中执行内嵌图像,您需要创建一个包含多部分/相关实体的多部分/混合实体,其中包含text / html和image / gif(例如,如果这是图像的类型)实体,其中图像实体具有Content-disposition:Embedded; filename = xxx,text / html体内的标签将使用“src = cid:xxx”格式来引用图像实体。