Rules Not Working: แก้ Rules ใน Outlook ไม่ทำงานตามที่ตั้ง

Rules Not Working ใน Outlook มักเกิดจากกฎ client-only ที่ทำงานเฉพาะตอนเปิด classic Outlook, Stop processing more rules หรือพื้นที่กฎเต็ม 256 KB

โดย ทีมงาน THAI DATA CLOUD อ่าน 15 นาที

แชร์FacebookXLINELinkedIn
Rules Not Working — Rules Not Working: แก้ Rules ใน Outlook ไม่ทำงานตามที่ตั้ง
Rules Not Working: แก้ Rules ใน Outlook ไม่ทำงานตามที่ตั้ง

คำตอบสั้น ๆ: 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
ตารางเปรียบเทียบกฎฝั่งเซิร์ฟเวอร์กับกฎ client-only ใน Outlook ว่าทำงานเมื่อไร สร้างได้จากที่ไหน และเกี่ยวกับ Rules Not Working อย่างไร
กฎ client-only ทำงานเฉพาะตอน classic Outlook บนเครื่องนั้นเปิดอยู่ จึงดูเหมือนทำงานบ้างไม่ทำงานบ้าง

ขั้นตอนที่ 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 ให้ทำดังนี้

  1. เปิด Home > Rules > Manage Rules & Alerts แล้วคลิก Run Rules Now
  2. ติ๊กกฎที่ต้องการทดสอบ
  3. เลือกโฟลเดอร์ที่จะรันในช่อง Run in Folder เช่น Inbox ติ๊ก Include subfolders ถ้าต้องการ
  4. เลือกชนิดอีเมลในช่อง 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 ซึ่งช่วยมากเมื่อผู้ใช้อธิบายกฎของตัวเองไม่ได้ ตรวจผลด้วยการส่งอีเมลทดสอบที่เข้าเงื่อนไขกฎข้อล่าง ถ้าถูกย้ายตามที่ตั้งใจถือว่าแก้แล้ว

หน้าจอจำลอง Rules and Alerts ของ classic Outlook ที่กฎข้อบนใช้ Stop processing more rules และมีกฎ client-only ต้นเหตุของ Rules Not Working
ย้ายกฎที่เฉพาะเจาะจงขึ้นไปไว้บน และสังเกตคำว่า client-only ท้ายชื่อกฎ (ภาพจำลอง)

ขั้นตอนที่ 4: แก้ Rules Not Working เพราะพื้นที่กฎเต็ม 256 KB

One or more rules could not be uploaded to Exchange server and have been deactivated

Microsoft ระบุว่า Inbox rules ใน Outlook on the web และ Outlook บนเดสก์ท็อปถูกจำกัดพื้นที่รวมไว้ที่ 256 KB ต่อกล่อง ขนาดของแต่ละกฎขึ้นกับความยาวชื่อและจำนวนเงื่อนไข ไม่มีเพดานจำนวนกฎ และนับเฉพาะกฎที่เปิดใช้ กฎที่ปิดไว้ไม่นับ เมื่อเต็ม ผู้ใช้จะถูกเตือนว่าสร้างหรือแก้กฎไม่ได้ ใน classic Outlook อาจเห็นข้อความ One or more rules could not be uploaded to Exchange server and have been deactivated ทางแก้ Rules Not Working แบบนี้ฝั่งผู้ใช้คือ

  1. ลบกฎที่ไม่ใช้แล้ว และปิดกฎที่ใช้นาน ๆ ครั้ง
  2. ย่อชื่อกฎให้สั้น และรวมกฎที่ย้ายไปโฟลเดอร์เดียวกันเป็นกฎเดียวที่มีหลายผู้ส่ง
  3. เปลี่ยนการคัดแยกที่ไม่จำเป็นต้องย้ายอีเมลเป็น Search Folder หรือ Categories แทน

ฝั่งผู้ดูแล ให้ตรวจค่า RulesQuota ของกล่อง ค่าที่ใช้ได้คือ 32 KB ถึง 256 KB และ Microsoft ระบุว่าเพิ่มเกิน 256 KB ไม่ได้ ถ้ากล่องถูกตั้งไว้ต่ำกว่านั้นให้ปรับขึ้น ถ้าเป็น 256 KB แล้วต้องลดขนาดกฎตามวิธีข้างบนเท่านั้น

Get-Mailbox -Identity [email protected] | Format-List RulesQuota
Set-Mailbox -Identity [email protected] -RulesQuota "256 KB"
Get-InboxRule -Mailbox [email protected] | Format-Table Name,Enabled,Priority -Auto

หลังลดขนาดแล้ว ให้กลับไปเปิดกฎที่ถูกปิดใน Rules and Alerts ด้วยการติ๊กหน้าชื่อกฎ ถ้าเปิดได้โดยไม่มีข้อความเตือนแปลว่าพื้นที่พอแล้ว และ Rules Not Working จากสาเหตุนี้หายไป ตรวจผลด้วยการส่งอีเมลทดสอบ

ผลคำสั่ง Get-InboxRule แสดงลำดับกฎและค่า StopProcessingRules และ Get-Mailbox แสดง RulesQuota 256 KB ของกล่องที่มีปัญหา Rules Not Working
กฎลำดับ 1 ที่ StopProcessingRules เป็น True จะกันกฎข้อล่างไม่ให้ทำงานกับอีเมลเดียวกัน

ขั้นตอนที่ 5: สร้างกฎในกล่องที่อีเมลเข้าจริง เช่น Shared Mailbox

Rules Not Working กับ Shared Mailbox มักเกิดเพราะผู้ใช้สร้างกฎในกล่องของตัวเองแล้วคาดว่าจะทำงานกับอีเมลที่เข้า Shared Mailbox กฎของกล่องหนึ่งทำงานกับอีเมลที่เข้ากล่องนั้นเท่านั้น วิธีที่ถูกคือสร้างกฎในกล่องที่อีเมลเข้า

  1. เปิด Outlook on the web คลิกรูปโปรไฟล์ เลือก Open another mailbox แล้วพิมพ์ที่อยู่ของ Shared Mailbox เช่น [email protected]
  2. ในหน้าต่างของ Shared Mailbox ไปที่ Settings > Mail > Rules แล้วสร้างกฎ
  3. กฎที่สร้างแบบนี้เป็นกฎของกล่องนั้น ทำงานที่เซิร์ฟเวอร์ ไม่ขึ้นกับว่าใครเปิด Outlook อยู่

ผู้ใช้ต้องมีสิทธิ์ Full Access กับกล่องจึงเปิดได้ ถ้าเปิดไม่ได้ ดูคู่มือ Automapping ของ Shared Mailbox ตรวจผลด้วยการส่งอีเมลทดสอบเข้า Shared Mailbox แล้วดูว่าถูกย้ายตามกฎ อีกกรณีที่คล้าย Rules Not Working คือกฎที่ส่งต่ออีเมลออกนอกองค์กรแล้วไม่ไปถึง ซึ่งมักถูกนโยบายป้องกันสแปมขาออกบล็อก ไม่ใช่ปัญหาของกฎ ดูคู่มือ External Forwarding

ขั้นตอนที่ 6: ส่งออกกฎแล้วล้างกฎที่เสีย

ถ้ายังเจอ Rules Not Working หลังทำทุกขั้น หรือหลังย้ายเครื่องหรือย้ายระบบแล้วกฎอ้างถึงโฟลเดอร์ที่ไม่มีแล้ว หรือ Outlook ขึ้นข้อความ The rules on this computer do not match the rules on Microsoft Exchange ให้ล้างแล้วสร้างใหม่ เริ่มจากสำรองก่อน

  1. ใน Rules and Alerts คลิก Options > Export Rules แล้วบันทึกไฟล์ .rwz ไว้
  2. จดกฎทุกข้อพร้อมเงื่อนไขไว้ด้วย เพราะกฎที่อ้างโฟลเดอร์เดิมอาจนำเข้าแล้วยังใช้ไม่ได้
  3. ปิด Outlook แล้วกด Windows + R รันคำสั่งที่ต้องการ outlook.exe /cleanclientrules ลบเฉพาะกฎ client-only, outlook.exe /cleanserverrules ลบเฉพาะกฎฝั่งเซิร์ฟเวอร์ และ outlook.exe /cleanrules ลบกฎทั้งสองแบบ
  4. เปิด Outlook สร้างกฎใหม่ทีละข้อ หรือนำเข้าจาก Options > Import Rules แล้วแก้ปลายทางที่ผิด

เลือกคำสั่งที่แคบที่สุดก่อน และใช้ /cleanrules เป็นทางสุดท้าย เพราะลบกฎทั้งหมดของกล่อง กรณีข้อความ rules do not match ถ้าไม่แน่ใจว่าจะเลือกชุดไหน ให้สร้างและแก้กฎใน Outlook on the web แทน ซึ่งเป็นกฎฝั่งเซิร์ฟเวอร์ชุดเดียวกับที่ classic Outlook ใช้ ตรวจผลด้วยการส่งอีเมลทดสอบที่เข้าเงื่อนไขของกฎแต่ละข้อ ถ้าทุกข้อทำงานแปลว่าอาการ Rules Not Working หายแล้ว

ลำดับแก้ Rules Not Working จากตรวจกฎ client-only ทดสอบ Run Rules Now ตรวจลำดับ แก้พื้นที่กฎเต็ม สร้างกฎในกล่องที่ถูก จนถึงล้างกฎ
การล้างกฎเป็นทางสุดท้าย และต้องส่งออกเป็นไฟล์ .rwz ก่อนเสมอ

ปัญหาที่พบบ่อยเกี่ยวกับ Rules Not Working

ทำไม Rules ทำงานเฉพาะตอนเปิด Outlook?

Rules Not Working แบบนี้เกิดเพราะกฎนั้นเป็นแบบ client-only หรือเป็นกฎของบัญชี IMAP/POP ซึ่งทำงานในเครื่อง ไม่ใช่บนเซิร์ฟเวอร์ ให้แก้ action ที่บังคับให้เป็น client-only เช่น การย้ายเข้าไฟล์ PST เป็นการย้ายเข้าโฟลเดอร์ในกล่อง หรือสร้างกฎใน Outlook on the web แทน

ทำไม Rules ไม่ทำงานกับอีเมลที่อยู่ใน Inbox อยู่แล้ว?

กรณีนี้ไม่ใช่ Rules Not Working เพราะกฎทำงานกับอีเมลที่เข้ามาใหม่เท่านั้น ถ้าต้องการให้ทำงานกับอีเมลเดิม ใช้ Run Rules Now ใน classic Outlook ตามขั้นตอนที่ 2 แล้วเลือกโฟลเดอร์และกฎที่ต้องการ

Rules ใน new Outlook กับ classic Outlook เป็นชุดเดียวกันไหม?

สำหรับบัญชี Microsoft 365 กฎฝั่งเซิร์ฟเวอร์เป็นชุดเดียวกัน แก้ที่ไหนก็เห็นทุกที่ แต่กฎ client-only มีอยู่เฉพาะใน classic Outlook บนเครื่องนั้น new Outlook จึงไม่เห็นและไม่รันกฎแบบนี้ และเป็นสาเหตุของ Rules Not Working หลังเปลี่ยนไปใช้ new Outlook

ใช้ /cleanrules แล้วอีเมลจะหายไหม?

อีเมลไม่หาย คำสั่งนี้ลบเฉพาะกฎ แต่กฎจะหายทั้งหมดทั้งฝั่งเครื่องและฝั่งเซิร์ฟเวอร์ ต้องสร้างใหม่หรือนำเข้าจากไฟล์ .rwz ที่ส่งออกไว้ จึงควรลองคำสั่งที่แคบกว่าก่อนตามขั้นตอนที่ 6

กฎ Forward อีเมลไปที่อยู่นอกบริษัทไม่ทำงาน เพราะอะไร?

กรณีนี้ไม่ใช่ Rules Not Working แต่ Exchange Online มักบล็อกการส่งต่ออัตโนมัติออกนอกองค์กรตามนโยบายสแปมขาออก ผู้ส่งจะได้ NDR รหัส 5.7.520 ผู้ดูแลต้องอนุญาตการส่งต่อเฉพาะคนที่จำเป็น ไม่ควรเปิดให้ทั้งองค์กร

อ้างอิงจากเอกสาร Modify the space used by Inbox rules in Exchange Online ของ Microsoft

ถ้า Rules Not Working เกิดกับหลายคนในองค์กร หรือต้องการย้ายกฎไปทำงานที่เซิร์ฟเวอร์ทั้งหมด ติดต่อทีมงาน THAI DATA CLOUD ได้ และดูรายละเอียดบริการดูแล Microsoft 365 ได้ที่หน้าบริการของเรา

อ่านเพิ่มเติมเกี่ยวกับ Rules Not Working

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน