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

问题描述:

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

我开始使用的托尼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("[email protected]"); 
emailBean.setSubject("Lcoations"); 
emailBean.setSenderEmail("[email protected]"); 
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.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 ; 
} 

这个附加的文件作为附件,而不是作为一个图片。无法找到一个方法来做到这一点。

我不知道我使用的是哪种方法,我只想让一个人钉住并收紧,这样我就可以在整个应用程序中使用它。

任何帮助将不胜感激。

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

使用语法

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

添加链接和

<img src="url" ...> 

添加图像。

而是一个URL,你可以在你的HTML这样

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZ 
AQAAAADskrjOAAAAfElEQVR42mNgrDrAwFCbHs/A4Gp8EUgIBAKJSUCiVuY+A 
wNjqAMDw//T/xsYDK9nMDB4/zAGSkimMTAIbz/DwHDitRwDg1agNQPD0YTyBoZ 
L/ncbGHg3swN1WBcD9f4Lb2CoLS8AmufB3sDgehWo2LXRDSjmtRkoG5TCAACQ 
1SM9QzyOtAAAAABJRU5ErkJggg=="> 
代码完全用base64的图片,包括它