我想从xPages发送电子邮件。我创建了一个测试按钮,并添加了一个简单的操作"发送邮件",但当我点击它发送测试电子邮件时,我会收到以下运行时错误:
异常
发送MIME邮件时出错
我也尝试过使用这个SSJS发送电子邮件:
var doc:NotesDocument = database.createDocument();
doc.replaceItemValue("form", "Memo");
doc.replaceItemValue("sendTo", "daniel.recio@slug.es");
doc.replaceItemValue("subject", "hi there!");
doc.replaceItemValue("body", "content here");
doc.send();
但我得到了这个运行时错误:
执行JavaScript动作表达式时出错脚本解释器error,line=6,col=5:[TypeError]调用方法时发生异常NotesDocument.send()空
我会感谢你的帮助
感谢
您尝试过使用以下代码吗?http://openntf.org/XSnippets.nsf/snippet.xsp?id=create-使用mime 的ssjs中的html邮件
有这样的东西:
session.setConvertMime(false);
var doc:NotesDocument = database.createDocument();
doc.replaceItemValue("RecNoOutOfOffice", "1"); //no replies from out of office agents
//....
//send the e-mail;
doc.send();
session.setConvertMime(true);
我已经创建了发送邮件的函数,如下代码:
function sendDocument(memsendto,memcopyto,memsubject,membody,memprincipal) {
var memo:NotesDocument = database.createDocument();
var stream = session.createStream();
var body = memo.createMIMEEntity();
memo.replaceItemValue("Form","Memo");
if(memcopyto!=null) {
memo.replaceItemValue("CopyTo",memcopyto);
}
if(memprincipal!=null) {
memo.replaceItemValue("Principal",memprincipal);
}
memo.replaceItemValue("Subject",memsubject);
memo.replaceItemValue("SendTo",memsendto);
stream.writeText(membody);
body.setContentFromText(stream, "text/html;charset=iso-8859-1",1729)
memo.send();
}
您可以将该函数放在SSJS Script库中,并将其加载到XPAGES资源中使用。希望该函数能解决您的问题。
对于那些希望使用它的人,OpenNTF Domino API有一个DominoEmail类,旨在使电子邮件的创建更容易。有一个简单的两行版本的基本文本电子邮件:
DominoEmail myEmail = new DominoEmail();
myEmail.createSimpleEmail("test@myenv.com", "", "", "Demo Email", "This is a test email from the OpenNTF Domino API", "")
参数为对象到名称、对象ccNames、对象bccNames、字符串主题、对象主体、字符串发送方。收件人的对象可以是电子邮件地址的列表、数组或逗号分隔的字符串。正文的Object可以是StringBuilder、String或MIMEEntity。
理论上,这方面的SSJS是:
var myEmail:org.openntf.domino.email.DominoEmail = new org.openntf.domino.email.DominoEmail();
myEmail.createSimpleEmail("test@myenv.com", "", "", "Demo Email", "This is a test email from the OpenNTF Domino API", "")
然而,我还没有测试过这一点,SSJS转换为Java类的能力可能有点随意。它可能需要new java.lang.String("test@myEnv.com")
等