nlapiSendEmail returns SSS_AUTHOR_MUST_BE_EMPLOYEE 来自正确的员工 ID(在 Sandbox 上)
nlapiSendEmail returns SSS_AUTHOR_MUST_BE_EMPLOYEE from correct employee id (on Sandbox)
在沙盒环境中 nlapiSendEmail(在 suitelet 中定义)returns SSS_AUTHOR_MUST_BE_EMPLOYEE 即使发件人 ID 正确
我的发行版是 Kilimanjaro,带有 SuiteScript 1.0。我有一个管理员角色,当使用我的员工 ID 从后端模型直接调用 nlapiSenEmail() 时,电子邮件被发送到我的员工资料,但没有发送到指定的电子邮件,这实际上是一个公司通讯组列表。即使我没有指定记录的客户电子邮件,也会将副本发送到记录的客户电子邮件,一个 gmail 帐户。后端模型仅适用于 MyAccount 应用程序。值得注意的是,在这种情况下 nlapiSendEmail() return 值未定义。根据我的经验,由于 "execution context",Netsuite 在其行为 returning 值或仅以预期方式运行方面确实模棱两可。因此,使用相同的数据,我将调用放在一个套件中,现在我有 return SSS_AUTHOR_MUST_BE_EMPLOYEE.
function sendEmailWithAPI(request, response)
{
var senderId = request.getParameter('senderId');
var to = request.getParameter('emailTo');
var subject = request.getParameter('subject');
var body = request.getParameter('body');
var cc = request.getParameter('emailCC');
var result = {success:false, errorInfo:''};
try
{
var sendingResult = nlapiSendEmail(senderId, to, subject, body, cc);
result.success = true;
}
catch (errorOnMailSending)
{
result.returnValue = sendingResult;
result.errorInfo = errorOnMailSending.details;
}
response.write(JSON.stringify(result));
}
senderId的记录类型是什么? NetSuite 只接受员工记录作为脚本生成电子邮件的发件人。同样在沙盒帐户中,电子邮件会重新路由到登录用户、特定列表或根本不路由。这实际上是基于您 Sandbox 帐户中的公司首选项。这是因为 Sandbox 通常用于测试,您不想向实际客户发送测试电子邮件。
最后 "problem" 是因为我只是在沙盒中工作,因为我准备了一个片段来测试生产环境中的电子邮件发送,一切正常。在沙盒中,您仍然可以发送在子选项卡 "Email options"
中指定列表的电子邮件
选项 "SEND EMAIL TO (SEPARATE ADDRESSES WITH COMMAS)"
这位于“设置”>“公司”>“电子邮件首选项”。
在沙盒环境中 nlapiSendEmail(在 suitelet 中定义)returns SSS_AUTHOR_MUST_BE_EMPLOYEE 即使发件人 ID 正确
我的发行版是 Kilimanjaro,带有 SuiteScript 1.0。我有一个管理员角色,当使用我的员工 ID 从后端模型直接调用 nlapiSenEmail() 时,电子邮件被发送到我的员工资料,但没有发送到指定的电子邮件,这实际上是一个公司通讯组列表。即使我没有指定记录的客户电子邮件,也会将副本发送到记录的客户电子邮件,一个 gmail 帐户。后端模型仅适用于 MyAccount 应用程序。值得注意的是,在这种情况下 nlapiSendEmail() return 值未定义。根据我的经验,由于 "execution context",Netsuite 在其行为 returning 值或仅以预期方式运行方面确实模棱两可。因此,使用相同的数据,我将调用放在一个套件中,现在我有 return SSS_AUTHOR_MUST_BE_EMPLOYEE.
function sendEmailWithAPI(request, response)
{
var senderId = request.getParameter('senderId');
var to = request.getParameter('emailTo');
var subject = request.getParameter('subject');
var body = request.getParameter('body');
var cc = request.getParameter('emailCC');
var result = {success:false, errorInfo:''};
try
{
var sendingResult = nlapiSendEmail(senderId, to, subject, body, cc);
result.success = true;
}
catch (errorOnMailSending)
{
result.returnValue = sendingResult;
result.errorInfo = errorOnMailSending.details;
}
response.write(JSON.stringify(result));
}
senderId的记录类型是什么? NetSuite 只接受员工记录作为脚本生成电子邮件的发件人。同样在沙盒帐户中,电子邮件会重新路由到登录用户、特定列表或根本不路由。这实际上是基于您 Sandbox 帐户中的公司首选项。这是因为 Sandbox 通常用于测试,您不想向实际客户发送测试电子邮件。
最后 "problem" 是因为我只是在沙盒中工作,因为我准备了一个片段来测试生产环境中的电子邮件发送,一切正常。在沙盒中,您仍然可以发送在子选项卡 "Email options"
中指定列表的电子邮件选项 "SEND EMAIL TO (SEPARATE ADDRESSES WITH COMMAS)"
这位于“设置”>“公司”>“电子邮件首选项”。