【问题标题】:XPages how to grant access control to send notification emailXPages 如何授予访问控制以发送通知电子邮件
【发布时间】:2013-08-21 16:48:40
【问题描述】:

我正在制作一个带有联系表格的公共网站,并且我想在每次收到新消息时向我发送通知电子邮件。

在 Notes 9 Designer 中,我将发送邮件操作放在保存后的文档事件上。当我在 Domino Server 上测试它时,文档已保存,但通知邮件没有到达。所以我检查了服务器,有日志显示由于政策限制匿名发送邮件。

我如何授予该特定操作的访问权限,以便系统可以在不删除该策略的情况下发送服务器/有效用户身份验证?

【问题讨论】:

    标签: xpages


    【解决方案1】:

    您可以创建sessionAsSignersessionAsSignerWithFullAccess 来执行您的代码。 这应该允许您的用户执行您的代码并以匿名方式发送邮件。

    我不清楚您是如何创建邮件的,所以您想查看 Mark Leusink 和 Tony McGuckin 的代码,它们都是使用 XPages 发送邮件的绝佳方式:

    Mark Leusink: SSJS Mail Send.

    如果您使用 MarkLeusink 的代码,您必须编辑 this.send = function() 以使用 sessionAsSigner(参见下面的 cmets 代码)。

    Tony McGuckin: Java Mail Bean

    Tony McGuckin 代码也是如此:

    private Session getCurrentSession() {
        NotesContext nc = NotesContext.getCurrentUnchecked();
        return (null != nc) ? nc.getSessionAsSigner() : null;
    
    }
    

    【讨论】:

    • 我将作为签名者尝试会话。顺便说一句,我没有使用特定的脚本来发送邮件,因为在 Notes 9 中 PostSavedDocument 事件中有 sendMail 操作,在源代码中是这样的:<xp:actionGroup> <xp:sendMail from="marketing@pr***.com"> <xp:this.to><![CDATA[#{javascript:InquiryDoc.getItemValueString("InqEmail");}]]></xp:this.to> <xp:this.subject><![CDATA[Thank you for contacting us.]]></xp:this.subject> <xp:this.bodyHtml><![CDATA[#{javascript:var msg = "To Mr/Mrs/Ms etc"; --omitted-- return msg;}]]></xp:this.bodyHtml> </xp:sendMail> <xp:actionGroup>
    • 最后我使用的是 Leusink 的代码。看起来它工作正常:) 谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多