在电子邮件表单Xpages中包含文档链接和图形



我想从Xpage应用程序发送电子邮件。想要包含某种类型的标题图形或HTML样式,并且必须包含文档链接。

我开始使用Ulrich Krause对Tony McGuckin出色的SSJS的修改

然而,我有两个问题无法解决——添加文档链接和图形。

var doc:NotesDocument = currentDocument.getDocument();
var tmp:String ="A New Location Has Been Created: " + document1.getDocument().getItemValueString("businessUnitName") + ".nn" + "Please click this doc link and add any additional approvers ==> ";
emailBean.setSendTo("name@domain.com");
emailBean.setSubject("Lcoations");
emailBean.setSenderEmail("name@domain.com");
emailBean.setSenderName("Locations");
emailBean.setFieldName("Body");
//emailBean.setDocument(document1);
emailBean.addHTML("<table><tr><th>Month</th><th>Savings</th></tr><tr><td>January</td><td>$100</td></tr></table>") 
emailBean.addHTML(tmp);
emailBean.setBannerHTML("<table><tr><th>Month</th><th>Savings</th></tr><tr><td>January</td><td>$100</td></tr></table>");
emailBean.setFooterHTML("<p>Kind regards,<br/>Samantha<br/>0012 3456 789</p>");
emailBean.send();

我已经注释掉了setDocument代码,因为它不起作用,也没有必要。

我在数据库中有一个名为locations.gn的图像资源,我想包括它——或者我可以把它放在我控制的url上。

如何传递文档链接?我已经计算过了,但我现在不知道如何添加。

我尝试过的另一种方法是自己滚一滚。

我在Xpage表单上的一个按钮中有这个:

var doc:NotesDocument = currentDocument.getDocument();
var nteUrl:String = doc.getNotesURL();
var sndTo:String ="name.domain.com";
var sndFrm:String ="ame.domain.com";
var sbj:String ="A New Location Has Been Created: blah blah blah");
var body:String =""A New Location Has Been Created: blah blah blah");
sendEmail(sndTo,sndFrm,sbj,body,doc);

然后我的功能:

function sendEmail(sndTo,sndFrm,subject,body,trgDoc) {
    var doc:NotesDocument = database.createDocument();
    doc.replaceItemValue("Form","Memo");
    doc.replaceItemValue("Subject",subject);
    doc.replaceItemValue("Principal",sndFrm);
    doc.replaceItemValue("From",sndFrm);
    doc.replaceItemValue("SendTo",sndTo);
    doc.replaceItemValue("DisplaySent",sndTo);
    doc.replaceItemValue("SMTPOriginator",sndTo);
    var memo:NotesRichTextItem = doc.createRichTextItem("Body")
    var urlgif="/locations.png";
    memo.embedObject(NotesEmbeddedObject.EMBED_OBJECT, "",urlgif,null);
    memo.appendText(body);
    memo.appendDocLink(trgDoc);
    doc.send();
  return ;
}

这会将文件作为附件而非图片进行附加。找不到这样做的方法。

我不知道我使用哪种方法,我只想确定并收紧一种方法,这样我就可以在整个应用程序中使用它。

如有任何帮助,我们将不胜感激。

您使用emailBean.addHTML(... your html ...)基于HTML创建电子邮件。

使用语法

<a href="url">link text</a>

添加链接和

<img src="url" ...>

以添加图像。

你可以用base64编码图片,并将其完全包含在你的html中,而不是URL,就像一样

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZ
AQAAAADskrjOAAAAfElEQVR42mNgrDrAwFCbHs/A4Gp8EUgIBAKJSUCiVuY+A
wNjqAMDw//T/xsYDK9nMDB4/zAGSkimMTAIbz/DwHDitRwDg1agNQPD0YTyBoZ
L/ncbGHg3swN1WBcD9f4Lb2CoLS8AmufB3sDgehWo2LXRDSjmtRkoG5TCAACQ
1SM9QzyOtAAAAABJRU5ErkJggg==">

最新更新