我有一些功能可以在通過某人提交電子郵件創建案例時自動發送電子郵件回應,該電子郵件將發送到 NetSuite 案例組態檔電子郵件地址。嘗試設定正確的回復電子郵件地址時會出現問題。到目前為止,創建一個的嘗試不允許直接回傳到案例記錄中的成功回應。起初,無法傳遞的訊息被回傳,直到我發現地址結構中出現錯誤。然而,現在這些訊息似乎并沒有回到案例記錄中。這是正在使用的結構:
cases.AAAAA.BBBBB_CCCCC_DDDDD.EEEEE@AAAAA.email.netsuite.com
// AAAAA is the account number
// BBBBB is the internal ID of the case record
// CCCCC is the internal ID of the message record
// DDDDD is the internal ID of the customer record on the case
// EEEEE is a hexadecimal value of unknown sourcing or meaning
我在想問題的一部分可能是訊息記錄 ID 是從案例中發出的訊息的 ID,而我一直在做的是從初始傳入電子郵件中保存的訊息記錄的 ID這首先產生了這個案例。這讓我相信我不能只使用 email.send() API 來設定回復電子郵件地址,但我沒有看到另一種發送電子郵件的方式。有什么我想念的嗎?
uj5u.com熱心網友回復:
email.send()如果您打算讓客戶能夠回復支持案例,則不要使用該功能。
相反,您需要創建一個案例記錄(或加載現有記錄),然后通過該案例記錄發送您的電子郵件。
將以下示例腳本上傳到您的檔案柜并創建一個 Suitelet 腳本,部署并運行它。您將看到一個簡單的表單,允許您通過案例記錄發送電子郵件。
示例螢屏截圖:

代碼:
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget', 'N/ui/message', 'N/record', 'N/url', 'N/email'], function (serverWidget, message, record, url, email) {
function onRequest(context) {
var form = serverWidget.createForm({
title: 'Send Email via Support Case'
});
form.addField({
id: 'custom_customer',
label: 'Customer',
type: serverWidget.FieldType.SELECT,
source: record.Type.CUSTOMER
});
form.addField({
id: 'custom_email',
label: 'Email Address (not required)',
type: serverWidget.FieldType.TEXT
});
form.addField({
id: 'custom_messagesubject',
label: 'Message Subject',
type: serverWidget.FieldType.TEXT
});
form.addField({
id: 'custom_messagebody',
label: 'Message Body',
type: serverWidget.FieldType.RICHTEXT
});
form.addSubmitButton({
label: 'Send Email'
});
if (context.request.method === 'POST') {
var customerId = context.request.parameters['custom_customer'];
var customerEmail = context.request.parameters['custom_email'];
var messageSubject = context.request.parameters['custom_messagesubject'];
var messageBody = context.request.parameters['custom_messagebody'];
try {
var caseId = 0;
var errorMsg = '';
var caseRec = record.create({
type: record.Type.SUPPORT_CASE
});
caseRec.setValue({
fieldId: 'company',
value: customerId
});
// You can specify an email address to overide the customer's default
// Useful if you need to use an "Anonymous Customer" record and set the outgoing email address to the correct one
if (customerEmail != '') {
caseRec.setValue({
fieldId: 'email',
value: customerEmail
});
}
caseRec.setValue({
fieldId: 'title',
value: messageSubject
});
caseRec.setValue({
fieldId: 'emailform',
value: true
});
caseRec.setValue({
fieldId: 'outgoingmessage',
value: messageBody
});
caseId = caseRec.save({
ignoreMandatoryFields: true
});
} catch (e) {
errorMsg = JSON.stringify(e);
}
if (caseId > 0 && errorMsg == '') {
var caseUrl = url.resolveRecord({
recordType: record.Type.SUPPORT_CASE,
recordId: caseId
});
form.addPageInitMessage({
message: 'Email sent successfully. <a target="_blank" href="' caseUrl '">Open Support Case</a>',
title: "Success!",
type: message.Type.CONFIRMATION
});
} else {
form.addPageInitMessage({
message: "Error occurred while sending case message: " errorMsg,
title: "Failed",
type: message.Type.ERROR
});
}
}
context.response.writePage(form);
}
return {
onRequest: onRequest
};
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/339506.html
標籤:javascript 电子邮件 网络套件 套件脚本2.0
