คุณกำลังพยายามปิดใช้งานการส่งอีเมลในเครื่องด้วย iRedMail และ postfix บนเซิร์ฟเวอร์อีเมลแบบโฮมเมด และคุณกำลังเอาหัวโขกกำแพง คุณใช้เซิร์ฟเวอร์โฮมเมดสำหรับการส่งอีเมล แต่กล่องขาเข้าทำงานบนเซิร์ฟเวอร์ที่สอง ในบทความนี้ ฉันจะแชร์สิ่งที่ฉันได้เรียนรู้เกี่ยวกับ วิธีปิดใช้งานการส่งอีเมลภายในเครื่องด้วย Postfix และบังคับให้ส่งต่ออีเมลทั้งหมดสำหรับบางโดเมนผ่านโดเมนของตน ที่อยู่ MX ที่เหมาะสม
ฉันค้นหาและค้นหาและค้นหาข้อมูลนี้ทางอินเทอร์เน็ต และพูดตามตรง ฉันไม่แน่ใจด้วยซ้ำว่าจะใช้ได้กับการตั้งค่าของคุณหรือไม่แต่จากระยะเวลาที่ฉันใช้ศึกษาปัญหานี้ แม้จะไม่ใช่ผู้เชี่ยวชาญเซิร์ฟเวอร์ Linux ฉันคิดว่าฉันจะส่งต่อการค้นพบของฉันและภาวนาว่าสิ่งนี้จะช่วยบรรเทาความคับข้องใจของคุณ
ข้อผิดพลาด
หากคุณเห็นข้อผิดพลาด "ผู้ใช้ที่ไม่รู้จักในตารางกล่องจดหมายเสมือน" แสดงว่าคุณมาถูกที่แล้ว โดยทั่วไป คุณต้องการให้ postfix หยุดพยายามส่งอีเมลไปยังบัญชีอีเมลบนเซิร์ฟเวอร์ของคุณที่ไม่มีอยู่จริง มันเกินไปที่จะถามจริงๆหรอ
แก้ไข Postfix เพื่อปิดใช้งานการส่งอีเมลในเครื่องสำหรับโดเมน
โดยพื้นฐานแล้ว การตั้งค่าหลักทั้งหมดของ postfix จะอยู่ใน main.cf ดังนั้นคุณจึงสามารถเปิดไฟล์ได้โดยพิมพ์ vim /etc/postfix/main.cf .
มองหาบรรทัด virtual_mailbox_domains - แสดงความคิดเห็นโดยใส่นำหน้า นั่นจะเป็นการปิดใช้งานการส่งอีเมลในเครื่องโดยสิ้นเชิง นี่คือของฉัน:
virtual_mailbox_domains=proxy:ldap:/etc/postfix/ldap/virtual_mailbox_domains.cf
ถัดไป ค้นหาบรรทัด relay_domains และต่อท้ายสิ่งที่มีอยู่ด้วยชื่อโดเมนของที่อยู่อีเมลที่มีกล่องจดหมาย do อยู่บนของคุณ เซิร์ฟเวอร์อีเมลแบบโฮมเมด ของฉันมีลักษณะดังนี้:
relay_domains=payette.email, $mydestination, proxy:ldap:/etc/postfix/ldap/relay_domains.cf
สุดท้าย ค้นหาบรรทัด transport_maps และเติม hash:/etc/postfix/transport ข้างหน้าสิ่งที่อยู่ เราจะสร้างไฟล์จริงในขั้นตอนต่อไป ของฉันมีลักษณะดังนี้:
transport_maps=hash:/etc/postfix/transport, proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf
ตอนนี้ สิ่งที่คุณต้องทำคือสร้างไฟล์ขนส่งที่ระบุว่า “รับอีเมลขาเข้าทั้งหมดไปยังโดเมนนี้และส่งผ่านเซิร์ฟเวอร์ MX นี้แทน!”
ดังนั้น สร้างไฟล์โดยพิมพ์ vim /etc/postfix/transport เพิ่มบรรทัดสำหรับแต่ละโดเมนที่คุณต้องการปิดใช้งานการจัดส่งในพื้นที่เช่นตัวอย่างด้านล่าง โดยใส่เซิร์ฟเวอร์ MX ไว้ในวงเล็บ นี่คือของฉัน:
payetteforward.com smtp:
จากนั้น ทำอะไรก็ตามที่ postmap ทำกับไฟล์โดยพิมพ์ postmap /etc/postfix/transport นั่นเป็นสิ่งสำคัญ - ฉันจะอธิบายว่าทำไม แต่ฉันแน่ใจว่ามันอยู่เหนือหัวของคุณ (ฉันไม่รู้ว่ามันทำอะไรกันแน่)
Trick: หากคุณไม่แน่ใจว่าเซิร์ฟเวอร์ MX ที่ถูกต้องสำหรับโดเมนที่กำหนดคืออะไร คุณสามารถใช้คำสั่ง groovy นี้เพื่อค้นหาว่ามันคืออะไร - ฉันคิดว่าคุณต้องเข้าใจจริงๆ .
dig -tmx payetteforward.com
ถัดไป รีสตาร์ท postfix โดยพิมพ์ service postfix restart พูดคำอธิษฐาน แล้วลองอีกครั้ง ถ้ามันได้ผล ซื้อคอร์เวทท์ให้ฉัน หากไม่เป็นเช่นนั้น โปรดแจ้งให้เราทราบในส่วนความคิดเห็น และเราจะทำงานร่วมกันเพื่อให้เป็นแนวทางที่เข้าใจได้สำหรับการแก้ไขปัญหานี้
Postfix โพสแก้ไข
สำหรับตอนนี้ โปรดขอบคุณที่ปัญหาได้รับการแก้ไขแล้ว: คุณได้ปิดใช้งานการส่งในเครื่องบนเซิร์ฟเวอร์อีเมลในพื้นที่ของคุณที่เรียกใช้ postfix หรือ iRedMail และคุณใช้ที่อยู่ MX ที่ถูกต้องแทน
