我正在嘗試測試我正在處理的腳本。腳本沒問題,手動觸發時它會成功執行。當我添加每分鐘間隔的時間驅動腳本時,腳本開始在幾個小時後拋出異常。時間驅動的郵件轉發觸發器
例外:服務調用次數過多一天:Gmail的
我檢查電子郵件的每日配額,發現我仍然有郵件配額留下
var quota = MailApp.getRemainingDailyQuota();
Logger.log(quota);
而且我能夠收到try catch電子郵件,但郵件未被轉發。
這是因爲與觸發器關聯的執行時間配額嗎?下面是代碼
function MailForward() {
try{
var glabel = createLabel_("Mail-Forwarded");
var rtm_email = '[email protected]';
var from_email = Session.getActiveUser().getEmail();
var threads = GmailApp.search('in:inbox is:unread newer_than:1d');
var mForward = 0;
for (var i=0;i<threads.length;i++) {
var messages=threads[i].getMessages();
for (var m = 0; m < messages.length; m++){
if (messages[m].isUnread()){
mForward = 0;
var mlabels = threads[i].getLabels();
for (var j = 0; j < mlabels.length; j++) {
Logger.log(mlabels[j].getName());
if (mlabels[j].getName() === "Mail-Forwarded") {
mForward = 1;
}
}
if (mForward===0) {
// Logger.log(messages.length)
// Logger.log(messages[m].getFrom());
var from = messages[m].getFrom();
//Logger.log(messages[m].getDate());
var date = messages[m].getDate();
// Logger.log(messages[m].getSubject());
var subject = messages[m].getSubject();
// Logger.log(messages[m].getTo());
var to = messages[m].getTo();
var body = messages[m].getBody();
var attachment = messages[m].getAttachments();
var emailoptions = ("---------- Forwarded message ----------" +'<br>'+'From: '+from+ "<'" + from.replace(/^.+<([^>]+)>$/, "$1") +"'>"+'<br>'+ 'Date: '+date+'<br>'+ 'Subject: ' +subject+'<br>'+
'To: ' +to+ "<'" + to.replace(/^.+<([^>]+)>$/, "$1") +"'>"+'<br>'+'<br>'+'<br>');
messages[m].forward(rtm_email,{htmlBody: emailoptions + body , Attachment: attachment});
glabel.addToThread(threads[i]);
Logger.log(glabel.getName());
messages[m].markRead();
mForward = 1;
}
}
}
}
} catch(e) {
MailApp.sendEmail("[email protected]", "Exception found in Sript", e);
Logger.log(e);
}
}
謝謝,它的工作,但很少電子郵件不轉發,我得到以下例外附件內容不被識別爲字符串或二進制。任何建議將不勝感激 – user3223016