Anonim

คุณกำลังพยายามปิดใช้งานการส่งอีเมลในเครื่องด้วย 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 ที่ถูกต้องแทน

ปิดใช้งานการส่งอีเมลในเครื่องด้วย Postfix และ iRedMail