You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetSuite:如何为自定义记录添加从记录发送邮件功能

当然可以给自定义记录添加「从记录发送邮件」的功能!我来给你拆解两种实现方式——原生配置就能搞定基础需求,要是需要定制化就用脚本增强:

方法一:NetSuite原生配置启用基础邮件功能

这是最快的方式,不用写代码就能搞定:

  • 第一步:配置角色权限
    进入你创建的自定义记录类型的编辑页面,切换到「权限」标签页。找到需要使用该功能的角色(比如管理员、销售岗角色),给他们勾选发送邮件权限——这是基础前提,没权限的话后面配置了也用不了。
  • 第二步:开启记录的邮件功能
    切换到「显示」标签页,找到「邮件」配置区块:
    • 勾选「允许从记录发送邮件」选项;
    • 设置「发件人字段」:如果你的自定义记录关联了客户/供应商/联系人实体,直接选对应的关联字段就行;要是没有关联实体,可以设置为默认发件人(比如当前登录用户);
    • 可选配置:设置「回复至字段」,指定邮件回复的接收地址;
    • 保存对自定义记录类型的修改。
  • 第三步:测试功能
    打开一条该自定义记录的详情页,现在你应该能看到「邮件」标签(或者在顶部操作菜单里找到「发送邮件」选项),点击后就能像在客户/供应商记录里那样编辑并发送邮件了。
方法二:SuiteScript定制增强邮件功能

如果原生配置满足不了你的定制需求(比如自动触发邮件、自定义邮件模板、复杂的收件人逻辑),可以用SuiteScript来实现:
比如给记录加一个自定义的发送邮件按钮,点击后触发定制化的邮件流程,这里给你一个简单的示例:
首先写一个UserEvent脚本,在记录加载时添加自定义按钮:

/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 */
define(['N/ui/serverWidget', 'N/record'], function(serverWidget, record) {
    function beforeLoad(context) {
        // 只在查看记录时显示按钮
        if (context.type === context.UserEventType.VIEW) {
            var form = context.form;
            // 添加自定义发送邮件按钮
            form.addButton({
                id: 'custpage_send_activity_email',
                label: '发送活动通知邮件',
                functionName: 'triggerCustomEmail'
            });
            // 绑定客户端脚本处理点击事件
            form.clientScriptModulePath = './activity_email_client.js';
        }
    }
    return {
        beforeLoad: beforeLoad
    };
});

然后写对应的客户端脚本(activity_email_client.js),可以调用NetSuite的邮件弹窗API,或者请求服务器端发送预设内容的邮件:

/**
 * @NApiVersion 2.x
 * @NScriptType ClientScript
 */
define(['N/ui/dialog', 'N/email', 'N/currentRecord'], function(dialog, email, currentRecord) {
    function triggerCustomEmail() {
        var rec = currentRecord.get();
        var activityName = rec.getValue({fieldId: 'custrecord_activity_name'});
        // 这里可以弹出确认框,或者直接调用邮件API发送
        dialog.confirm({
            title: '发送活动通知',
            message: `确认要发送${activityName}的通知邮件吗?`
        }).then(function(confirmed) {
            if (confirmed) {
                // 示例:发送邮件到指定地址
                email.send({
                    author: -5, // -5代表当前登录用户
                    recipients: 'example@domain.com',
                    subject: `活动通知:${activityName}`,
                    body: `这是来自自定义活动记录的通知邮件。`
                });
                dialog.alert({title: '成功', message: '邮件已发送'});
            }
        });
    }
    return {
        triggerCustomEmail: triggerCustomEmail
    };
});
注意事项
  • 确保你的NetSuite账号已经配置了邮件发送服务(不管是NetSuite自带的还是自定义SMTP),并且账号有全局的邮件发送权限;
  • 角色权限一定要配置到位,否则即便是记录启用了功能,用户也看不到发送邮件的入口;
  • 如果自定义记录关联了客户/供应商实体,把发件人字段设置为关联的联系人字段,能让邮件更贴合业务场景。

内容的提问来源于stack exchange,提问作者Barry van der Tas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 13:22:29