SuiteScript email.send 在外部 URL suitelet 中不工作

SuiteScript email.send not working in External URL suitelet

我无法从外部 url 版套件发送电子邮件。内部 url 一切正常,但每当我使用外部 url 时,都无法发送电子邮件。没有错误,发送邮件后的代码正确执行。我在 Production 和 Sandbox 帐户上都试过了,我以管理员身份执行它。 email.send 对外部 url 有限制吗?有什么解决方法吗?我是 NetSuite 新手。

        var currentuser = 1111;
        var recipient = 'some.email@email.com';
        var subject = 'subject';
        var EmailBody = '<p> email content </p>';

        email.send({
            author: currentuser,
            recipients: recipient,
            subject: subject,
            body: EmailBody,
        });

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 * @NModuleScope SameAccount
 */
define(['N/record', 'N/email', 'N/log', 'N/runtime'],

function(record, email, log, runtime) {
   
    /**
     * Definition of the Suitelet script trigger point.
     *
     * @param {Object} context
     * @param {ServerRequest} context.request - Encapsulation of the incoming request
     * @param {ServerResponse} context.response - Encapsulation of the Suitelet response
     * @Since 2015.2
     */
    function onRequest(context) {
        var req = context.request;
        var res = context.response;
        
        var userObj = runtime.getCurrentUser();
        log.debug('user is: ', JSON.stringify(userObj));
        log.debug('role', userObj.role);


        email.send({
            author: 5, 
            recipients: 5,
            subject: 'Test suitelet email',
            body: 'suitelet email body',

        });

        log.debug('Done','email sent');
        
        
    }

    return {
        onRequest: onRequest
    };
    
});

重要的是要注意,在测试中,开发帐户的路由电子邮件选项设置为向登录用户发送电子邮件,并且它是硬编码的。在 Sandbox 和 Release Preview 帐户上,为了在使用 Suitelet 的外部 URL 时发送电子邮件,“发送电子邮件至”字段应在“设置”>“公司”>“电子邮件首选项”>“电子邮件选项”下设置为特定电子邮件地址。

由于这个值是硬编码在测试驱动器和开发帐户上的,因此无法验证当前登录用户的会话,因为在 email.send(options) 或 nlapiSendEmail 时没有这样的用户被触发。

请注意,Production 帐户没有此类限制,功能将执行并成功发送电子邮件。

可以使用示例 Suitelet 代码在沙盒、发布预览、生产和开发帐户上测试此行为。请告诉我这是怎么回事!