我想从Xpage应用程序发送电子邮件。想要包含某种类型的标题图形或HTML样式,它必须包含文档链接。
我开始使用Ulrich Krause修改Tony McGuckin的优秀SSJS here
但是,我有两个我无法解决的问题 - 添加文档链接和图形。
var doc:NotesDocument = currentDocument.getDocument();
var tmp:String ="A New Location Has Been Created: " + document1.getDocument().getItemValueString("businessUnitName") + ".\n\n" + "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代码,因为它没有用,也没有必要。
我在db中有一个名为locations.pgn的图像资源,我想要包含它 - 或者我可以将它放在我控制的网址上。
如何传递文档链接?我计算了它,但我现在还没有如何添加它。
我尝试的另一种方法是自己动手。
我在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 ;
}
这会将文件作为附件附加,而不是作为图片附加。无法找到一种方法来做到这一点。
我不知道我使用哪种方法,我只是希望得到一个方法并加强,以便我可以在整个应用程序中使用它。
非常感谢任何帮助。
答案 0 :(得分:3)
您使用emailBean.addHTML(... your html ...)
创建基于HTML的电子邮件。
使用语法
<a href="url">link text</a>
添加链接和
<img src="url" ...>
添加图片。
您可以在base64中对图片进行编码,并将其完全包含在您的html中,而不是像
那样<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZ
AQAAAADskrjOAAAAfElEQVR42mNgrDrAwFCbHs/A4Gp8EUgIBAKJSUCiVuY+A
wNjqAMDw//T/xsYDK9nMDB4/zAGSkimMTAIbz/DwHDitRwDg1agNQPD0YTyBoZ
L/ncbGHg3swN1WBcD9f4Lb2CoLS8AmufB3sDgehWo2LXRDSjmtRkoG5TCAACQ
1SM9QzyOtAAAAABJRU5ErkJggg==">