2

嗨,伙计们,我正在努力通过 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();
}
4

1 回答 1

3

NotesRichTextItem 类的功能相当有限。有一个名为 Genii Software 的公司提供的名为 MIDAS 的第 3 方 API,它功能强大得多,可以为您提供所需的功能,但它是商业软件,通常从 LotusScript 中使用。我什至不确定 Genii 是否在 Java 中支持它。

也就是说,另一种方法是使用 NotesMIMEEntity 类而不是 NotesRichTextItem。要在 MIME 中制作内嵌图像,您需要创建一个包含多部分/相关实体的多部分/混合实体,该实体包含文本/html 和图像/gif(例如,如果这是您的图像的类型)实体,其中图像实体有 Content-disposition: Embedded; filename=xxx 和 text/html 正文中的标签将使用“src=cid:xxx”格式来引用图像实体。

于 2014-01-22T13:50:10.887 回答