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
相关产品推荐
相关产品推荐

