ฟังก์ชันแบบกำหนดเอง
ในตอนนี้ Zoho Mail Filter มีฟังก์ชันที่กำหนดเองผ่านDeluge Scriptingใน Zoho Creator ซึ่งจะช่วยให้คุณสามารถปรับแต่งเงื่อนไขตัวกรองและการดำเนินการโดยใช้พารามิเตอร์หลายตัวได้ ซึ่งจะช่วยให้คุณสร้างและเขียนสคริปต์ Simple Deluge เพื่อสร้างการดำเนินการที่กำหนดเอง และตั้งค่าเป็นเงื่อนไขหรือการดำเนินการในตัวกรองใน Zoho Mail ได้ ยิ่งไปกว่านั้น คุณยังสามารถตั้งค่าเวิร์กโฟลว์ ซึ่งจะถูกกระตุ้นให้ทำงานโดยอีเมลที่มีเงื่อนไขที่ระบุและการดำเนินการที่ปรับแต่งได้
ฟังก์ชันแกลเลอรี:
ฟังก์ชันแกลเลอรีเป็นสคริปต์สำเร็จรูปที่คุณสามารถติดตั้งและใช้งานได้โดยตรง ฟังก์ชันแกลเลอรีนี้อาจต้องได้รับการปรับแต่งเล็กน้อยเพื่อให้สามารถใช้ได้กับสถานการณ์หรือกรณีการใช้งานของคุณได้ ฟังก์ชันที่เขียนไว้ล่วงหน้าเหล่านี้ยังทำหน้าที่เป็นการอ้างอิงสำหรับดึงข้อมูลพารามิเตอร์หรือการดำเนินการที่เกี่ยวข้องกับเมล เมื่อคุณเขียน Deluge Script แบบกำหนดเองอีกด้วย
ขั้นตอนในการเพิ่มการดำเนินการแบบกำหนดเองในตัวกรอง:
- เข้าสู่ระบบZoho Mail
- คลิกที่ไอคอน การตั้งค่า
- ไปที่ตัวกรอง
- คลิกฟิลเตอร์ใหม่เพื่อเพิ่มฟิลเตอร์ใหม่
- ระบุเงื่อนไขพื้นฐาน ( ตัวอย่าง: ผู้ส่ง/เรื่องฯลฯ )
- ในการดำเนินการให้เลือก ‘ฟังก์ชันกำหนดเอง (ผู้สร้าง)' จากเมนูดร็อปดาวน์
- คลิกเลือกฟังก์ชันเพื่อดูป๊อปอัพเครื่องมือแก้ไข Deluge Script
- คุณสามารถสร้างฟังก์ชันของคุณเองหรือเลือกฟังก์ชันแกลเลอรีได้ที่นี่
- เมื่อคุณสร้างชุดฟังก์ชันของคุณเองแล้ว คุณสามารถเลือกฟังก์ชันเหล่านั้นได้โดยตรงในพื้นที่การดำเนินการ
Zoho Mail ใน Deluge:
Zoho Mail สามารถดำเนินการใน Deluge เพื่อดึงข้อมูลเมตาดาต้าของผู้ใช้ปัจจุบัน/อีเมลที่เกี่ยวข้อง ซึ่งสามารถดึงข้อมูลได้ผ่าน Deluge Script
getFolders:
zoho.mail.getFolders()
Lists all Folders for the given account, as a map
PID-ParentID
ID- FolderID
getLabels:
zoho.mail.getLabels()
Lists all labels for the given accounts, as a map
ID- LabelID
COLOR in Hexadecimal
getMessage:
messageID is the required parameter.
zoho.mail.getMessage(mail_messageId)
Gets message details as a MAP.
ต่อไปนี้คือพารามิเตอร์หลักที่มีให้ใช้งานใน MAP:
CC - Cc อีเมล
RDT - วันที่และเวลาที่ได้รับ
BCC - Bcc อีเมล
SENDER - อีเมลของผู้ส่ง
INREPLYTO - หากนี่เป็นอีเมลตอบกลับอีเมลฉบับอื่น ชื่อของอีเมลต้นทางจะปรากฏในพารามิเตอร์นี้
MAILID - ID เมลที่ไม่ซ้ำกันของอีเมลนี้
PRIORITY - ความสำคัญของอีเมลที่ได้รับ
FROM - ที่อยู่อีเมลต้นทาง
SENTTIME - วันที่และเวลาที่อีเมลถูกส่ง
SENTTIMEINMILLIS - เวลาที่ส่งซึ่งแปรผันเป็นค่ามิลลิวินาที
SUBJECT - หัวเรื่องของอีเมล
TO - ปลายทางที่รับอีเมล
CONTENT - เนื้อหาอีเมล
RETURNPATH - เส้นทางขากลับของอีเมล หากมีการส่งกลับ
ตัวอย่างเอาต์พุต :
{MAILID=<15286cfac05.f8beb27b-358249608.6985583661857771020@somewhere.com>, SUBJECT="Wow this is amazing!", SENTTIME=Thu, 28 Jan 2016 11:28:22 +0530, SENDER=someone@somewhere.com, PRIORITY=3, SENTTIMEINMILLIS=1453940902000, TO= <abc@mydomain.com>, RDT=Thu, 28 Jan 2016 11:28:27 +0530, BCC=, INREPLYTO=, CONTENT=, CC=, STATUS2ID=0, FROM=noreply@zohosmtpin.india.adventnet.com, RETURNPATH=<noreply@zohosmtpin.india.adventnet.com>, conv=true, SHRINKED=false}"
}
การดำเนินการรองรับใน Zoho Mail ด้วย Deluge Script:
moveToFolder
messageId and toFolderName/ toFolderId are the required parameters. (toFolderName is the destination folder name to which the email should be moved)
zoho.mail.moveToFolder(mail_messageId, "/toFolderName") OR zoho.mail.moveToFolder(mail_messageId, toFolderId)
หมายเหตุ:
- หากโฟลเดอร์ปลายทางเป็นโฟลเดอร์ย่อย จะต้องอ้างอิงเส้นทางทั้งหมดของโฟลเดอร์ในชื่อโฟลเดอร์
เช่น: "/Inbox/Marketing/Design"
setTag
messageId และ TagName/ TagId เป็นพารามิเตอร์ที่จำเป็น (TagName คือชื่อของแท็กที่ใช้กับอีเมลนั้น)
zoho.mail.setTag(mail_messageId, “TagName”) OR zoho.mail.setTag(mail_messageId, TagId)
createFolder
folderName และ parentFolderId คือพารามิเตอร์ที่จำเป็นสำหรับการดำเนินการนี้ ชื่อโฟลเดอร์คือชื่อของชื่อโฟลเดอร์ที่จะสร้างและ parentFolderId นั้นเป็นส่วนจำเป็นถ้าโฟลเดอร์ดังกล่าวเป็นโฟลเดอร์ย่อยในโฟลเดอร์อื่น
zoho.mail.createFolder(folderName, parentFolderId)
markAsRead - ทำเครื่องหมายอีเมลว่าอ่านแล้ว
markAsUnread - ทำเครื่องหมายอีเลว่ายังไม่ได้อ่าน
removeFlag - ลบแฟล็กใดๆ ที่ข้อความ
สำหรับ 3 ฟังก์ชันข้างต้น messageId คือพารามิเตอร์ที่จำเป็น
เงื่อนไขและ/หรือในตัวกรอง :
ในขณะนี้ ตัวกรองของ Zoho Mail ไม่รองรับการใช้ตัวกรองและ/หรือกับเงื่อนไขหลายรายการ ในกรณีที่คุณมีความต้องการที่กำหนดเอง คุณสามารถสร้างและใช้ Deluge Script ในการดำเนินการที่กำหนดเองนั้นเพื่อจัดการกล่องขาเข้าของคุณ หรือสร้างกฎที่กำหนดเองสำหรับอีเมลดังกล่าว
ตัวอย่าง: คุณสามารถสร้างตัวกรองตามเงื่อนไขเช่นด้านล่างได้:
หาก (sender = <sender1@yourdomain.com> หรือ ผู้ส่ง=<sender2@yourdomain.com>) และหัวเรื่อง = subject1 ให้ย้ายอีเมลไปยังโฟลเดอร์ <folder x>
เวิร์กโฟลว์แบบกำหนดเอง:
การดำเนินการแบบกำหนดเองที่ Zoho Mail รองรับช่วยให้คุณสามารถผสานการทำงาน Zoho Mail กับแอปพลิเคชัน Zoho อื่นๆ หรือแอปพลิเคชันภายนอกและสร้างเวิร์กโฟลว์ได้ตามอีเมลที่เข้ามา
ตัวอย่าง:
หาก Subject = “Contact uss” หรือ To = “info@yourdomain.com” ให้เพิ่มผู้ส่งเป็นลูกค้าเป้าหมายใน Zoho CRM
หากหัวเรื่อง = “ ใบแจ้งหนี้ xxxx” ให้คัดแยกอีเมลจำนวนทั้งหมดออกและเพิ่มลงในฐานข้อมูล <abcde> ใน Zoho Reports
ตัวกรองตามเนื้อหา :
เงื่อนไขของตัวกรองอีเมลตั้งต้นจะรองรับเฉพาะพารามิเตอร์ที่มีอยู่ในอีเมลเมตาดาต้าเท่านั้น ดังนั้น จึงไม่สามารถสร้างตัวกรองที่มีเงื่อนไขตามเนื้อหาได้ ด้วยการดำเนินการแบบกำหนดเอง คุณสามารถเขียนสคริปต์ของคุณเพื่อสร้างเงื่อนไขและการดำเนินการตามเนื้อหาให้กับอีเมลขาเข้าเพื่อจัดระเบียบหรือสร้างเวิร์กโฟลว์แบบกำหนดเองได้
ตัวอย่างสคริปต์:
ห่วงโซ่การดำเนินการในฟังก์ชั่นที่กำหนดเองรายการเดียว
// ในการรับข้อมูลอีเมล ให้ใช้พารามิเตอร์ ‘message_ID’
// ส่งจากตัวกรองเมลเมื่อเรียกใช้ฟังก์ชัน Dre
messageDetails = zoho.mail.getMessage(mail_messageId);
mailContent = messageDetails.get("CONTENT");
mailSubject = messageDetails.get("SUBJECT");
fromAddress = messageDetails.get("FROM");
moveToFolderName = "ToDoList";
folderId = -1;
folderDetails = zoho.mail.getFolders();
for each folder in folderDetails
{
folderName = folder.get("NAME");
if(folderName == moveToFolderName)
{
zoho.mail.moveToFolder(mail_messageId,folder.get("ID"));
}
}
myTask = 123456;
othersTask = 234567;
if(fromAddress.contains("replacecontenthere"))
{
zoho.mail.setLabel(mail_messageId,myTask);
}
else
{
zoho.mail.setLabel(mail_messageId,othersTask);
}
ทราบรายละเอียดของป้ายกำกับในชื่อที่ระบุ:
tagId= -1;
tagDetails = zoho.mail.getLabels();
for each tag in tagDetails
{
if(tag.get("NAME") == "High Priority")
{
tagId = tag.get("ID");
}
}
ในการส่ง SMS
sendsms
[
to :"91<10 digit number >"
message:"<your message>"
];
แปลงพารามิเตอร์ SentDateTime เป็นรูปแบบ Creator Date Time
ต้องเปลี่ยนแปลงโซนเวลาให้สอดคล้องกับโซนเวลาในพารามิเตอร์อินพุต
messageDetails = zoho.mail.getMessage(mail_messageId);
mailDate = messageDetails.get("SENTTIME");
mailDateString = mailDate.toDate("E, dd MMM yyyy HH:mm:ss +0530"); //gives output in format 20-Apr-2017
mailDateTimeString = mailDate.toTime("E, dd MMM yyyy HH:mm:ss +0530"); //gives output in format 20-Apr-2017 13:23:06