เรามีอุปกรณ์เซิร์ฟเวอร์เชิงพาณิชย์แบบโอเพนซอร์สและที่สำคัญ ซึ่งมีกลไกการแจ้งเตือนทางอีเมลพื้นฐานซึ่งเป็นที่ต้องการอย่างมาก Postfix ทำหน้าที่ส่งต่อภายในได้อย่างดีเยี่ยม เพื่อส่งต่อการแจ้งเตือนทางอีเมลของเซิร์ฟเวอร์ไปยังเจ้าหน้าที่ของเรา (gmail)
ในบางครั้ง ตามเหตุการณ์ที่เกิดขึ้น เซิร์ฟเวอร์อาจสร้างการแจ้งเตือนที่เหมือนกันหลายร้อยรายการ - ฉันเห็นอีเมลที่เหมือนกัน 800 ฉบับในช่วงเวลา 15 นาที แน่นอนว่ามันสร้างความรำคาญใจอย่างมาก และฉันสงสัยว่า Gmail ก็พอใจกับมันเช่นกัน ฉันต้องการใช้ Postfix เพื่อกรองสถานการณ์เหล่านั้นอย่างชาญฉลาด
นี่ไม่ใช่สถานการณ์ปกติของคุณในการ “ป้องกันจากนักส่งสแปม” ตัวจำกัดอัตราทั่วไป, smtpd_error_sleep_time และ smtpd_soft_error_limit จัดการกับไคลเอนต์ที่ผิดพลาด
คุณจะตั้งค่าตัวกรองที่เรียกใช้ body_check ตาม
ความถี่ของข้อความเข้า?
ฉันสามารถดูวิธีดำเนินการได้สองสามวิธี:
- วาง (ทิ้ง?) ข้อความหากมีการส่งข้อความเนื้อหาที่เหมือนกันในช่วง X วินาทีล่าสุด
- เปรียบเทียบข้อความทั้งหมดและรวมตามเนื้อความที่เหมือนกัน
- รวมข้อความที่เหมือนกันลงในสรุป (อีเมลแต่ละฉบับมีความยาวเพียง 4 บรรทัด ฉันอยากได้อีเมล 8 ฉบับ แต่ละฉบับยาว 400 บรรทัด แทนที่จะเป็นอีเมล 4 บรรทัด 800 ฉบับ)
อย่างไรก็ตาม ฉันเป็น Noob ของ Postfix และเมื่อพิจารณาถึงฟังก์ชันและลำดับความสำคัญนี้ ฉันจะเลือกวิธีแก้ปัญหาที่เรียบง่ายและตรงไปตรงมา ตัวอย่างเช่น การปรับใช้ "โปรแกรมกรองเนื้อหาจริง" สำหรับการตรวจสอบหลังคิวงานหนักดูเหมือนว่าจะเกินความจำเป็น หวังว่ากระบวนการตรวจสอบเนื้อหาในตัวจะเพียงพอ