亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Google Apps 腳本根據電子郵件正文中的關鍵字發送不同的自動回復

Google Apps 腳本根據電子郵件正文中的關鍵字發送不同的自動回復

ibeautiful 2023-09-14 17:51:34
基本上我試圖根據電子郵件正文的內容設置不同的自動回復。下面是我當前的代碼...在這種情況下,我嘗試對其進行設置,以便如果發送帶有正文“測試”的電子郵件,它將自動回復“這是我的測試”。但如果是其他內容,它會說“抱歉,您的關鍵字未被識別”。最好希望將來添加多個關鍵字...然而,無論我發送什么,它都只是自動回復“這是我的測試”......關于如何解決這個問題有什么想法嗎?function autoReplier() {var labelObj = GmailApp.getUserLabelByName('autoreply');var gmailThreads;var messages;var sender;for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {gmailThreads = labelObj.getThreads()[gg];messages = gmailThreads.getMessages();for (var ii = 0; ii < messages.length; ii++)   {if (messages[ii].isUnread()){msg = messages[ii].getPlainBody();    if (msg = "test") {        sender = messages[ii].getFrom();MailApp.sendEmail(sender, "Auto Reply", "This is my test");                                                                             messages[ii].markRead();        messages[ii].moveToTrash();    } else {        sender = messages[ii].getFrom();MailApp.sendEmail(sender, "Auto Reply", "Sorry, your keyword was not recognized");                                                                                 messages[ii].markRead();        messages[ii].moveToTrash();}}}}}
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

說明/問題:

您的代碼有一個明顯的問題,并且需要根據您的評論進行一項額外的修改:

  • 替換if(msg = "test")if(msg == "test")否則第一個if塊語句將始終被執行。

  • 根據您的評論,msg這不僅僅是一個單詞,而是一段文字。并且您想檢查是否test位于兩個單詞之間。假設這些單詞是thisand ,that您可以使用以下正則表達式來查看是否testthis和之間that

    const?regex?=?RegExp(/(?<=this.*?)test(?=.*?that)/);
    regex.test(msg)?//?this?returns?true?if?test?is?between?this?and?that

RegExp.prototype.test?()方法允許您驗證正則表達式,并true在您的情況下獲取正則表達式和指定字符串之間是否存在匹配msg。

解決方案:

function autoReplier()?

{var labelObj = GmailApp.getUserLabelByName('autoreply');

var gmailThreads;

var messages;

const regex = RegExp(/(?<=this.*?)test(?=.*?that)/); //modify this and that if you want to use other words

var sender;

for (var gg = 0; gg < labelObj.getUnreadCount(); gg++) {

gmailThreads = labelObj.getThreads()[gg];

messages = gmailThreads.getMessages();

for (var ii = 0; ii < messages.length; ii++)?

? {if (messages[ii].isUnread()){msg = messages[ii].getPlainBody();

? ? if (regex.test(msg)) {

? ? ? ? sender = messages[ii].getFrom();

? ? ? ? MailApp.sendEmail(sender, "Auto Reply", "This is my test");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? messages[ii].markRead();

? ? ? ? messages[ii].moveToTrash();

? ? } else {

? ? ? ? sender = messages[ii].getFrom();

? ? ? ? MailApp.sendEmail(sender, "Auto Reply", "Sorry, your keyword was not recognized");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? messages[ii].markRead();

? ? ? ? messages[ii].moveToTrash();

}}}}

}


查看完整回答
反對 回復 2023-09-14
  • 1 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號