ฉันใช้ Postfix และ Dovecot LMTP บนเซิร์ฟเวอร์ของฉัน คำถามของฉันคือ ฉันจะสร้างที่อยู่ผู้รับโดยไม่แจ้งให้ทราบและตอบกลับอัตโนมัติได้อย่างไร นอกจากนี้ ฉันยังต้องการเรียนรู้โฟลว์การควบคุมการดำเนินการของ Postfix และ Dovecot
นี่เป็นส่วนหนึ่งของ Postfix ของฉัน main.cf
:
alias_maps = แฮช:/etc/aliases
# โดเมนเสมือน
virtual_uid_maps = คงที่:5000
virtual_gid_maps = คงที่:5000
virtual_minimum_uid = 115
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mailbox.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql/aliases.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
ในของฉัน /etc/นามแฝง
:
devnull: /dev/null
ในความเข้าใจอันต่ำต้อยของฉัน Postfix จัดการกับที่อยู่ผู้รับอยู่หรือไม่? หากมีที่อยู่ผู้รับ ให้ขนส่งไปยัง Dovecot LMTP เพื่อจัดการการจัดส่งในพื้นที่ เป็นไปได้ไหมที่จะขนส่งแบบมีเงื่อนไขใน Postfix ตัวอย่างเช่น ฉันต้องการสร้างที่อยู่อีเมลทดสอบ เช่น [email protected]
. บัญชีใดเป็นนามแฝง การพัฒนาเป็นโมฆะ
. เป้าหมายของฉันคือผู้รับ [email protected]
ทิ้งจดหมายขาเข้าอย่างเงียบ ๆ และตอบกลับข้อความ PONG อัตโนมัติไปยังผู้ส่งเพื่อการทดสอบ หากไม่ใช่ที่อยู่ผู้รับ [email protected]
จากนั้นขนส่งไปยัง Dovecot-lmtp ฉันพยายามใช้ปลั๊กอินตัวกรอง Dovecot Sieve พร้อมส่วนขยายวันหยุดเพื่อจัดการการตอบกลับอัตโนมัติ แต่ใน mail.log ของระบบของฉัน:
# แทนที่ชื่อโดเมนจริงด้วย DOMAIN
postfix/lmtp[13532]: 62EBD333697: to=<devnull@DOMAIN>, orig_to=<ping@DOMAIN>, relay=DOMAIN[private/dovecot-lmtp], ดีเลย์=538, ดีเลย์=538/0.02/0.01/0.44, dsn=5.1.1 สถานะ=ตีกลับ (โฮสต์ DOMAIN[private/dovecot-lmtp] กล่าวว่า:
550 5.1.1 <devnull@DOMAIN> ไม่มีผู้ใช้: devnull@DOMAIN (ตอบกลับคำสั่ง RCPT TO))
ดังนั้น ฉันเดาว่าปลั๊กอินตัวกรอง Dovecot Sieve ไม่ทำงานกับบัญชีที่ไม่มีอยู่ เป็นไปได้หรือไม่ที่จะเรียกใช้สคริปต์ Sieve ก่อนตรวจสอบกล่องจดหมายของผู้ใช้ ถ้าอย่างนั้นฉันก็ไม่ต้องใช้ การพัฒนาเป็นโมฆะ
นามแฝงหลุมดำ ฉันสามารถทำได้ในสคริปต์ตะแกรงของฉันดังนี้:
ถ้าที่อยู่ : ตรงกับ "ถึง" "ping@*" {
วันหยุด
: วินาที 1
"พงษ์";
ทิ้ง;
}
ปรับปรุง:
ฉันสร้างผู้ใช้ชื่อ ปิง
ในฐานข้อมูลของฉัน และฉันได้รับเมลตอบกลับในบัญชี GMail ของฉัน แต่มันไม่ใช่เมลตอบกลับจริงๆ มันเป็นจดหมายใหม่ในกล่องจดหมายของฉัน จากนั้นฉันพยายามตอบกลับด้วยตนเองโดยใช้ซอฟต์แวร์ Apple mail GUI มันทำงานได้ตามที่คาดไว้ จากนั้นฉันไปที่ gmail แล้วกดที่เมนู แสดงต้นฉบับ
.
จาก Apple Mail รหัสข้อความ
ส่วนโดเมนเป็นโดเมนเสมือนของผู้ส่งที่ถูกต้อง
แต่จาก Dovecot/Sieve's รหัสข้อความ
ส่วนของโดเมนคือเซิร์ฟเวอร์ของฉัน ชื่อโฮสต์
.
ฉันไม่รู้ว่าทำไมมันถึงเกิดขึ้นแต่ฉันเดาว่าอาจเป็นเพราะชื่อโดเมนถูกเปลี่ยน? ในตัวอย่างการทำงานจากซอฟต์แวร์ Apple Mail โดเมนเสมือนของผู้ส่งถูกต้อง แต่จากการตอบกลับอัตโนมัติของตะแกรง มันได้เปลี่ยนชื่อโฮสต์จริงของเซิร์ฟเวอร์ของฉัน
บันทึก Postfix อื่นจาก /var/log/mail.log
postfix/cleanup[1329]: EE83F333699: message-id=<dovecot-sieve-1623257247-953496-0@HOSTNAME>
ปล: ฉันมีประสบการณ์เพียงไม่กี่วันกับ Postfix, Dovecot และประสบการณ์ไม่กี่ชั่วโมงกับ sieve script ฉันเป็นมือใหม่ ฉันหวังว่าคำถามและเป้าหมายของฉันจะชัดเจนเพียงพอ ถามฉันได้ทุกอย่างหากคุณต้องการข้อมูลเพิ่มเติม