ตัวกรอง - ฟังก์ชัน DRE แบบกำหนดเอง

ฟังก์ชันแบบกำหนดเอง

ในตอนนี้ Zoho Mail Filter มีฟังก์ชันที่กำหนดเองผ่านDeluge Scriptingใน Zoho Creator ซึ่งจะช่วยให้คุณสามารถปรับแต่งเงื่อนไขตัวกรองและการดำเนินการโดยใช้พารามิเตอร์หลายตัวได้ ซึ่งจะช่วยให้คุณสร้างและเขียนสคริปต์ Simple Deluge เพื่อสร้างการดำเนินการที่กำหนดเอง และตั้งค่าเป็นเงื่อนไขหรือการดำเนินการในตัวกรองใน Zoho Mail ได้ ยิ่งไปกว่านั้น คุณยังสามารถตั้งค่าเวิร์กโฟลว์ ซึ่งจะถูกกระตุ้นให้ทำงานโดยอีเมลที่มีเงื่อนไขที่ระบุและการดำเนินการที่ปรับแต่งได้

ฟังก์ชันแกลเลอรี:

ฟังก์ชันแกลเลอรีเป็นสคริปต์สำเร็จรูปที่คุณสามารถติดตั้งและใช้งานได้โดยตรง ฟังก์ชันแกลเลอรีนี้อาจต้องได้รับการปรับแต่งเล็กน้อยเพื่อให้สามารถใช้ได้กับสถานการณ์หรือกรณีการใช้งานของคุณได้ ฟังก์ชันที่เขียนไว้ล่วงหน้าเหล่านี้ยังทำหน้าที่เป็นการอ้างอิงสำหรับดึงข้อมูลพารามิเตอร์หรือการดำเนินการที่เกี่ยวข้องกับเมล เมื่อคุณเขียน Deluge Script แบบกำหนดเองอีกด้วย 

ขั้นตอนในการเพิ่มการดำเนินการแบบกำหนดเองในตัวกรอง: 

  1. เข้าสู่ระบบZoho Mail
  2. คลิกที่ไอคอน การตั้งค่า
  3. ไปที่ตัวกรอง
  4. คลิกฟิลเตอร์ใหม่เพื่อเพิ่มฟิลเตอร์ใหม่
  5. ระบุเงื่อนไขพื้นฐาน ( ตัวอย่าง: ผู้ส่ง/เรื่องฯลฯ )
  6. ในการดำเนินการให้เลือก ‘ฟังก์ชันกำหนดเอง (ผู้สร้าง)' จากเมนูดร็อปดาวน์ 
  7. คลิกเลือกฟังก์ชันเพื่อดูป๊อปอัพเครื่องมือแก้ไข Deluge Script 
  8. คุณสามารถสร้างฟังก์ชันของคุณเองหรือเลือกฟังก์ชันแกลเลอรีได้ที่นี่ 
  9. เมื่อคุณสร้างชุดฟังก์ชันของคุณเองแล้ว คุณสามารถเลือกฟังก์ชันเหล่านั้นได้โดยตรงในพื้นที่การดำเนินการ 

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= &lt;abc@mydomain.com&gt;, 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 

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: support@zohomail.com