我遇到从SuiteSript 1.0预定脚本发送电子邮件的问题。
我有一个使用已保存搜索的预定脚本。该脚本每小时运行一次,并在保存的搜索中为每个结果发送一封电子邮件。
我发现某些搜索结果通常不会通过电子邮件发送给收件人。当保存的搜索有很多结果时,尤其会发生这种情况。对于可以发送的电子邮件数量似乎没有特定限制。 我这样说是因为我试图发送8封电子邮件,其中只有5封成功发送。我还尝试发送了37封电子邮件,其中12封电子邮件已成功发送。
成功发送的电子邮件也不是连续的 - 即发送8封电子邮件时,第2和第5个结果可能无法按预期发送。
对此的任何帮助将不胜感激。提前谢谢。
添加一些代码以澄清:
if (curRec.getFieldValue('location') === '6' ||curRec.getFieldValue('location') === '14' && curRec.getFieldValue('department') === '3' && curRec.getFieldValue('custbody_sales_order_type') == '10')
{
nlapiSendEmail(fromId, 'Test@server.com', sbj, msg, null, null, null, newFileObj);
nlapiLogExecution('DEBUG', 'Email Notification', 'Order ' + curRec.getFieldValue('id') + ' should now be sent');
}
每封预期的电子邮件都会收到上述日志消息,但所有电子邮件都没有到达收件人地址。
答案 0 :(得分:2)
您将最后一个参数设置为true吗?
nlapiSendEmail(sender, recipients , subject, body, ccs, bccs, associated_record, attachment, not_a_bulk_email);
将not_a_bulk_email
设置为true非常重要。我刚才遇到了一个问题因为我不知道参数是做什么的。如果未设置,它会将电子邮件作为批量电子邮件发送,这会导致电子邮件的优先级较低(有时是数小时后),并且不会通知失败。
另一方面,如果设置为true,它将立即发送。但是,这会将收件人数量+ ccs + bccs限制为10。
如果这对您有用,请告诉我。
另外,如果您可以发布代码示例,那也很棒。
答案 1 :(得分:1)
虽然M. Pope的答案是正确的,似乎有所作为,但事实证明,电子邮件功能非常不可靠。所有电子邮件都无法到达目的地。
我通过完全放弃此功能并利用NetSuite的SFTP功能将订单传递到我自己的软件系统来解决这个问题。
开始使用此资源的资源:NetSuite SFTP with SuiteScript 2.0