如何让Lotus Notes @MailSend发送我的表单的精确副本?

时间:2017-10-19 07:37:08

标签: lotus-notes lotus-domino lotusscript lotus lotus-formula

例如,我是想要给卖家打分的买家。

我有卖家的样本评估。

Sample Evaluation

我需要向卖家Eden F. De Leon发送一封电子邮件,这是样本表格的精确副本。

但是,我所能做的就是这段代码。

{`@MailSend
(Seller;
Buyer;
"";
"Rating for: " +Seller;
"";
"Sales evaluation for : " +Seller
+@NewLine+
"Buyer : " +Buyer
+@NewLine+
"Performance : " +Performance
+@NewLine
+@NewLine+
"Areas for Improvement:"
+@NewLine+
"1. " +Development1+ " - " +Rate1
+@NewLine+
"2. " +Development2+ " - " +Rate2
+@NewLine+
"3. " +Development3+ " - " +Rate3
+@NewLine
+@NewLine+
"Recommendation : " +Recommendation
`}

这将发送这样的电子邮件通知。

email notification

如何发送与示例表格完全相同的电子邮件通知。感谢。

1 个答案:

答案 0 :(得分:1)

来自IBM documentation for @Mailsend

  

@MailSend(公式语言)

     

使用@MailSend有两种方式:

     

当没有参数使用时,@ MailSend 将当前文档(在评估@function时处理的文档)邮寄给文档的SendTo字段中指定的收件人。

     

该文档必须具有SendTo字段。

     

与一个或多个参数一起使用时,@ MailSend 撰写新的邮件备忘录

     

等,等等....

您正在使用第二种方式,在@MailSend调用中使用参数,因此您正在撰写新的邮件备忘录,而不是邮寄当前文档。

您应该使用第一种方式,或者您应该使用LotusScript和NotesDocument.send()方法而不是@Mailsend。由于您的问题是关于@Mailsend,我将继续为此做出回答 - 但我会回到最后关于使用LotusScript的评论。

在调用@MailSend之前,您需要将收件人的地址分配给SendTo字段。如果您的表单没有SendTo字段,请添加一个。你可以把它变成一个隐藏的领域。它仍然有效。

用户将在他或她的邮件文件中阅读电子邮件,并且您的表单在您的应用程序的NSF文件中,因此为了让用户真正看到您通过电子邮件发送的文档,您还将拥有做两件事之一:

  • 在邮件模板中安装表单副本,并将该模板应用于每个收件人的邮件文件。
  • 或者在文档中设置"商店表单"表格上的财产。

这些选择各有利弊。更新模板需要服务器管理员的配合,并且必须在升级到Domino软件后再次完成。这是一个痛苦,但最终它使用更少的存储空间,并为您作为应用程序开发人员带来更少的问题。在文档中使用'存储表单'不会给您的管理员带来任何负担,但由于电子邮件和保存的文档副本都将具有存储的表单,因此这将使用更多的存储空间(尽管不是很多)。更大的问题是,它会使您更难维护您的应用程序,因为您将来对表单所做的任何更改都不会反映在已保存的文档中。 (有时这是一件好事,但通常情况并非如此。)但是,通过使用代理从每个文档中删除存储的表单,这也可以恢复额外的空间。已被使用。

使用LotusScript和NotesDocument.Send() method,您可以将表单存储在电子邮件中,而无需将其存储在应用程序的NSF文件中保存的文档中。在大多数情况下,这确实是最好的方法。