คำตอบสั้น ๆ: Rules Not Working ใน Outlook มักเกิดจากกฎ client-only ที่ทำงานเฉพาะตอนเปิด classic Outlook, Stop processing more rules หรือพื้นที่กฎเต็ม 256 KB
คู่มือนี้อธิบาย Rules Not Working ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Rules Not Working คืออาการที่กฎคัดแยกอีเมลใน Outlook ไม่ทำงาน ทำงานบางวัน หรือทำงานเฉพาะบางเครื่อง เช่น อีเมลจากลูกค้าควรย้ายเข้าโฟลเดอร์แต่ยังค้างใน Inbox บางครั้ง Outlook ขึ้นข้อความ One or more rules could not be uploaded to Exchange server and have been deactivated. This could be because some of the parameters are not supported or there is insufficient space to store all your rules. แล้วกฎบางข้อถูกปิดไปเอง สาเหตุที่พบบ่อยที่สุดคือกฎเป็นแบบ client-only ซึ่งทำงานเฉพาะเมื่อ classic Outlook เปิดอยู่ หรือกฎข้อบนมี Stop processing more rules จนกฎข้อล่างไม่ได้ทำงาน ทางแก้ที่ได้ผลบ่อยที่สุดคือเปิด Manage Rules & Alerts ดูว่ากฎเป็นแบบไหน จัดลำดับใหม่ แล้วทดสอบด้วย Run Rules Now
คู่มือนี้เขียนสำหรับผู้ใช้และพนักงานไอทีที่ต้องแก้ Rules Not Working ใน classic Outlook for Windows, new Outlook และ Outlook on the web ทั้งบัญชี Microsoft 365 และอีเมล IMAP/POP ของบริษัท ถ้ายังไม่เคยสร้างกฎ ให้เริ่มจากคู่มือสร้าง Rules คัดแยกอีเมลอัตโนมัติ ก่อน เมื่อทำครบ คุณจะรู้ว่ากฎแต่ละข้อทำงานที่เซิร์ฟเวอร์หรือในเครื่อง แก้ลำดับและเงื่อนไขที่ผิด และกู้กฎที่ถูกปิดเพราะพื้นที่เต็มได้
สิ่งที่ต้องเตรียม
- รายชื่อกฎที่มีอาการ Rules Not Working และตัวอย่างอีเมลที่ควรเข้าเงื่อนไขแต่ไม่เข้า ยังไม่ต้องลบอีเมลนั้น
- รู้ว่าใช้ Outlook แบบไหน classic Outlook มีเมนู File ส่วน new Outlook มีสวิตช์ New Outlook และไอคอนรูปเฟือง และรู้ว่ากฎถูกสร้างจากแอปไหน
- รู้ชนิดบัญชีว่าเป็น Microsoft 365, IMAP หรือ POP เพราะกฎของ IMAP/POP ใน classic Outlook ทำงานในเครื่องเท่านั้น
- ก่อนล้างหรือแก้กฎจำนวนมาก ให้ส่งออกกฎเป็นไฟล์ .rwz เก็บไว้ ตามขั้นตอนที่ 6
- สำหรับผู้ดูแล Microsoft 365: สิทธิ์ใน Exchange Online PowerShell เพื่อตรวจกฎและพื้นที่กฎของกล่อง
สาเหตุของ Rules Not Working ใน Outlook
กฎใน Outlook มีสองแบบที่ทำงานคนละที่ และเรื่องนี้อธิบายอาการ Rules Not Working ได้เกินครึ่ง
- กฎฝั่งเซิร์ฟเวอร์: กฎของบัญชี Microsoft 365 ที่ใช้เงื่อนไขและ action ที่ Exchange Online ทำเองได้ เช่น ย้ายเข้าโฟลเดอร์ในกล่องเดียวกัน ทำงานตลอดเวลาแม้ปิดคอม กฎที่สร้างใน new Outlook และ Outlook on the web เป็นแบบนี้
- กฎ client-only: กฎใน classic Outlook ที่ต้องใช้ตัวโปรแกรม เช่น ย้ายอีเมลเข้าไฟล์ PST เล่นเสียง แสดงหน้าต่างแจ้งเตือน หรือพิมพ์อีเมล ชื่อกฎจะมีคำว่า
(client-only)ต่อท้าย กฎแบบนี้ทำงานเฉพาะตอน classic Outlook บนเครื่องนั้นเปิดอยู่ ปิดคอมไปหนึ่งคืน อีเมลที่เข้ามาระหว่างนั้นจะไม่ถูกคัด จึงดูเหมือน Rules Not Working ทั้งที่กฎไม่ได้เสีย - ลำดับและ Stop processing more rules: Microsoft ระบุว่ากฎทำงานจากบนลงล่างตามลำดับในหน้าต่าง Rules ถ้ากฎข้อบนจับอีเมลได้และมี Stop processing more rules กฎข้อล่างจะไม่ทำงานกับอีเมลนั้น เป็นต้นเหตุของ Rules Not Working ที่หาเจอยากที่สุด
- เงื่อนไขไม่ตรง: เช่น ตั้งเงื่อนไขด้วยชื่อที่แสดงของผู้ส่ง แต่ผู้ส่งเปลี่ยนชื่อหรือส่งจากอีกอีเมล หรือเงื่อนไข sent only to me แต่อีเมลส่งผ่านกลุ่ม
- พื้นที่กฎเต็ม: Exchange Online จำกัดพื้นที่ของกฎที่เปิดใช้ทั้งหมดไว้ที่ 256 KB ต่อกล่อง เมื่อเต็มจะสร้างหรือแก้กฎไม่ได้ และกฎบางข้ออาจถูกปิด
- สิ่งอื่นทำงานก่อนกฎ: ตัวกรอง Junk Email, mail flow rules ที่ผู้ดูแลตั้งไว้ หรือ Sweep อาจย้ายอีเมลไปก่อนกฎของคุณ ทำให้ดูเหมือน Rules Not Working
ขั้นตอนที่ 1: ดูว่ากฎเป็น client-only หรือทำงานที่เซิร์ฟเวอร์
จุดเริ่มของการแก้ Rules Not Working คือรู้ว่ากฎแต่ละข้อทำงานที่ไหน ใน classic Outlook ไปที่ Home > Rules > Manage Rules & Alerts แท็บ Email Rules ดูชื่อกฎทุกข้อ ข้อที่มี (client-only) ต่อท้ายคือกฎที่ทำงานในเครื่อง ให้ถามตัวเองสองข้อ classic Outlook บนเครื่องนั้นเปิดอยู่ตอนอีเมลเข้าหรือไม่ และกฎนั้นจำเป็นต้องเป็น client-only จริงหรือไม่
- ถ้ากฎเป็น client-only เพราะย้ายอีเมลเข้าไฟล์ PST ให้เปลี่ยนปลายทางเป็นโฟลเดอร์ในกล่อง Microsoft 365 กฎจะกลายเป็นกฎฝั่งเซิร์ฟเวอร์และทำงานตลอดเวลา
- ถ้าต้องใช้ action ที่ต้องมีโปรแกรม เช่น เล่นเสียง ให้ยอมรับว่ากฎจะทำงานเฉพาะตอน Outlook เปิดอยู่ หรือแยกเป็นสองกฎ คือกฎย้ายโฟลเดอร์ฝั่งเซิร์ฟเวอร์ และกฎแจ้งเตือนในเครื่อง
- บัญชี IMAP และ POP ใน classic Outlook ทุกกฎเป็นการทำงานในเครื่อง Rules Not Working ตอนปิดคอมจึงเป็นเรื่องปกติของบัญชีชนิดนี้ ถ้าต้องการให้คัดแยกแม้ปิดคอม ต้องตั้งตัวกรองที่ webmail ของผู้ให้บริการ ถ้าระบบนั้นรองรับ
new Outlook และ Outlook on the web จัดการกฎที่ Settings > Mail > Rules ซึ่งเป็นกฎฝั่งเซิร์ฟเวอร์ ถ้ากฎ client-only ที่สร้างใน classic ไม่ขึ้นหรือไม่ทำงานใน new Outlook นั่นเป็นพฤติกรรมปกติ ตรวจผลของขั้นนี้ด้วยการปิด classic Outlook แล้วส่งอีเมลทดสอบที่เข้าเงื่อนไข เปิดดูจาก Outlook on the web ถ้าอีเมลถูกย้ายแล้วแปลว่ากฎทำงานที่เซิร์ฟเวอร์ถูกต้อง และ Rules Not Working ที่เห็นก่อนหน้ามาจากกฎ client-only
ขั้นตอนที่ 2: ทดสอบกฎด้วย Run Rules Now
อาการ Rules Not Working ที่พบบ่อยอีกแบบคือสร้างกฎใหม่แล้วอีเมลเก่าใน Inbox ไม่ถูกย้าย ซึ่งเป็นเรื่องปกติ เพราะกฎทำงานกับอีเมลที่เข้ามาใหม่ ถ้าต้องการให้กฎทำงานกับอีเมลที่มีอยู่แล้ว ใน classic Outlook ให้ทำดังนี้
- เปิด Home > Rules > Manage Rules & Alerts แล้วคลิก Run Rules Now
- ติ๊กกฎที่ต้องการทดสอบ
- เลือกโฟลเดอร์ที่จะรันในช่อง Run in Folder เช่น Inbox ติ๊ก Include subfolders ถ้าต้องการ
- เลือกชนิดอีเมลในช่อง Apply rules to เช่น All Messages แล้วคลิก Run Now
ถ้า Run Rules Now ย้ายอีเมลได้ แปลว่าเงื่อนไขถูกต้อง ปัญหาอยู่ที่เวลาที่กฎทำงาน ให้กลับไปดูขั้นตอนที่ 1 ว่าเป็น client-only หรือไม่ ถ้า Run Rules Now ก็ไม่ย้าย แปลว่า Rules Not Working มาจากเงื่อนไขหรือลำดับ ให้ทำขั้นตอนที่ 3 ต่อ
ขั้นตอนที่ 3: ตรวจลำดับ Stop processing more rules และเงื่อนไข
ลำดับกฎเป็นสาเหตุของ Rules Not Working ที่คนมองข้ามบ่อย ในหน้าต่าง Rules and Alerts กฎอยู่บนสุดทำงานก่อน คลิกกฎแล้วใช้ลูกศรขึ้นลงเพื่อย้ายลำดับ อ่านคำอธิบายกฎในช่องด้านล่างทีละข้อ แล้วตรวจสามเรื่องนี้
- Stop processing more rules: ถ้ากฎข้อบนกว้างเกินไป เช่น ย้ายทุกอีเมลจากโดเมนลูกค้า และมี Stop processing more rules กฎเฉพาะลูกค้ารายเดียวที่อยู่ข้างล่างจะไม่มีโอกาสทำงาน ให้ย้ายกฎที่เฉพาะเจาะจงขึ้นไปไว้บน
- เงื่อนไขผู้ส่ง: ใช้ from people or public group กับที่อยู่ที่ถูกต้อง หรือ with specific words in the sender's address กับโดเมน เช่น example.com แทนการอิงชื่อที่แสดง เพราะชื่อที่แสดงเปลี่ยนได้ และเงื่อนไขที่อิงชื่อเป็นต้นเหตุของ Rules Not Working ทันทีที่ผู้ส่งเปลี่ยนชื่อ
- อีเมลที่ส่งผ่านกลุ่มหรือ Cc: เงื่อนไข sent only to me หรือ where my name is in the To box จะไม่จับอีเมลที่ส่งถึงกลุ่มที่คุณเป็นสมาชิก
ผู้ดูแลที่ไล่ Rules Not Working ให้ผู้ใช้ดูลำดับกฎและค่า Stop processing ของกล่องได้ด้วย PowerShell ซึ่งช่วยมากเมื่อผู้ใช้อธิบายกฎของตัวเองไม่ได้ ตรวจผลด้วยการส่งอีเมลทดสอบที่เข้าเงื่อนไขกฎข้อล่าง ถ้าถูกย้ายตามที่ตั้งใจถือว่าแก้แล้ว