ดังนั้นฉันจึงดาวน์โหลดซอร์สโค้ดของ Postfix 3.7.x รุ่นล่าสุดและค้นหาคำตอบของฉัน ฉันพบอย่างรวดเร็วว่าเพื่อให้ข้อความแสดงข้อผิดพลาด "mail for X วนกลับมาหาตัวเอง" ปรากฏขึ้น ต้องตรงตามเงื่อนไขสองข้อต่อไปนี้อย่างน้อยหนึ่งข้อ:
- พอร์ตปลายทางคือ 25 และที่อยู่ปลายทางอยู่ใน inet_interfaces หรือ proxy_interfaces
- พอร์ตปลายทางคือ 25 และชื่อโฮสต์ปลายทางที่ส่งในการตอบสนอง EHLO คือชื่อโฮสต์ของ Postfix และปลายทางรองรับ ESMTP
ฉันขี้เกียจเกินไปที่จะแก้ไขซอร์สโค้ดด้วยตัวเอง ดังนั้นวิธีแก้ปัญหาที่ฉันเลือกคือเพิ่มบรรทัดต่อไปนี้ในการกำหนดค่าของเซิร์ฟเวอร์ที่ 2525:
mydestination = mydomain.com, localhost
local_transport = รีเลย์:127.0.0.1:25
inet_interfaces =
และในเซิร์ฟเวอร์เวลา 25:
ชื่อโฮสต์ของฉัน = mail.mydomain.com
mydestination = mydomain.com, localhost
และตอนนี้มันใช้งานได้อย่างมีเสน่ห์ ฉันยังเพิ่มระเบียน MX สำหรับ mail.mydomain.com ที่ชี้ไปที่ mydomain.com ในกรณี
แก้ไข (2022-03-27): ดังนั้นการตั้งค่าของฉันจึงพังหลังจากสองสัปดาห์และ Postfix เริ่มแสดงข้อผิดพลาดต่อไปนี้: ร้ายแรง: /etc/postfix/master.cf: บรรทัด X: ไม่พบที่อยู่ IP ที่ถูกต้อง: 2525
. ฉันใช้การแก้ไขต่อไปนี้กับการกำหนดค่าของเซิร์ฟเวอร์ 2525 และใช้งานได้อีกครั้ง
local_transport = รีเลย์:mydomain.com:25
inet_interfaces = 127.0.0.1
แก้ไข (2022-04-02): มันพังอีกครั้งและฉันตัดสินใจสร้าง Postfix จากซอร์สและแก้ไขสิ่งที่ฉันต้องการ ฉันทำตามคำแนะนำที่ https://wiki.debian.org/BuildingTutorial (คุณจะต้องทำตามบทช่วยสอนที่เหมาะสมสำหรับการกระจายของคุณเอง หากคุณไม่ได้ใช้ Debian) และเปลี่ยนค่าของมาโครตัวประมวลผลล่วงหน้า SMTP_MISC_FLAG_LOOP_DETECT
ใน src/smtp/smtp.h
เป็น 0 ฉันยังเปลี่ยนการกำหนดค่าเซิร์ฟเวอร์ Postfix ทั้งหมดกลับไปเป็นค่าดั้งเดิมและเหมาะสม