Postfix ปิดการใช้งานการจัดส่งในท้องถิ่น


16

มีรูปแบบใดที่จะป้องกันการจัดส่งในท้องที่บนเซิร์ฟเวอร์ postfix หรือไม่

เป็นการดีที่ฉันต้องการหลีกเลี่ยงการจัดส่งในท้องถิ่นไปยังบางโดเมนเพราะเซิร์ฟเวอร์ postfix นี้เป็นข้อมูลสำรองของ Google apps


2
ดูเพิ่มเติม"กำหนดค่า Postfix ใช้เซิร์ฟเวอร์ MX ภายนอกสำหรับการจัดส่งจดหมายท้องถิ่นหากผู้ใช้ไม่เป็นที่รู้จัก"
JdeBP

คำตอบ:


25

เพื่อให้ postfix รู้ว่าจะไม่ส่งอีเมลสำหรับโดเมนในพื้นที่คุณจะต้องทำการเปลี่ยนแปลงตัวแปร config (หรือถ้าเกี่ยวข้องกับการตั้งค่าของคุณ) ใน main.cf - จาก doc postfix อย่างเป็นทางการคุณต้องทำการเปลี่ยนแปลง ให้แน่ใจว่าคุณลบโดเมนทั้งหมดที่คุณไม่ต้องการให้เป็นท้องถิ่นจากตัวแปรต่อไปนี้:

  • mydestination: โดยปกติจะมีรายการโดเมนที่ส่งภายในเครื่อง
  • local_recipient_maps: ตารางการค้นหาที่มีที่อยู่ผู้รับในพื้นที่
  • local_transport: การขนส่งเริ่มต้นสำหรับเมลท้องถิ่น - เปลี่ยนหาก inet_interfaces หรือ proxy_interfaces ตรงกับปลายทางของเมล
  • virtual_mailbox_domains: เหมือนกับ mydestination หากคุณใช้มัน

นอกเหนือจากนั้นฉันขอแนะนำให้คุณ:

  • ใช้postconfที่บรรทัดคำสั่งเพื่อรับการเข้าถึงค่าปัจจุบันอย่างรวดเร็วในตัวแปรการกำหนดค่า postfix ( man postconfสำหรับรายละเอียดเพิ่มเติม)
  • เยี่ยมชมpostconf / main.cfหน้าข้อมูลบนเว็บไซต์อย่างเป็นทางการสำหรับ postfix ทุกรายละเอียด

ใช่ postfix อาจมีความซับซ้อน - แต่นั่นคือความงามของธรรมชาติที่สามารถกำหนดค่าได้

หวังว่านี่จะช่วยได้!


4

ฉันไม่แน่ใจว่านี่เป็นทางออกที่ดีที่สุดหรือไม่ แต่ฉันมีกล่องที่มีโดเมนเดียวและสิ่งนี้ใช้ได้สำหรับฉัน ฉันใช้ Google Apps สำหรับอีเมลและเราติดตั้ง postfix เพื่อส่งอีเมลธุรกรรมซึ่งท้ายสุดจะผ่าน sendgrid เพื่อส่งไปยังผู้ใช้เว็บไซต์ของเรา

ฉันพบว่า postfix เติม / Maildir ด้วยข้อความนับพันและกินพื้นที่ดิสก์ในระบบของฉัน

ฉันเปลี่ยนสิ่งต่อไปนี้ใน etc / postfix / main.cnf:

mydestination = ip-{IP-ADDRESS-HERE}.ec2.internal, localhost.ec2.internal, , localhost

ถึง:

mydestination = localhost

โดยที่ {IP-ADDRESS-HERE} เป็น IP ของคุณเช่น 10-100-10-10

หลังจากรีบูต postfix ฉันทดสอบและข้อความยังคงถูกส่งไปยัง sendgrid และ out สำเร็จผ่าน postfix แต่ตอนนี้ maildir ของฉันไม่ได้ถูกเติมด้วยข้อความที่ไม่จำเป็นอีกต่อไป


4

ฉันพบคำถามและคำตอบนี้โดยค้นหาเฉพาะปัญหานี้ แต่ในบริบทของ Plesk ดูเหมือนว่าภายใต้การกำหนดค่าบางอย่าง (อาจขึ้นอยู่กับผู้ให้บริการโฮสต์ของคุณ) Plesk ชอบถือว่า postfix กำลังจะใช้การจัดส่งในท้องที่ไม่ว่าจะเกิดอะไรขึ้น มีประโยชน์มากที่สุด!

จากนั้นฉันก็พบและติดตามบทความนี้ซึ่งช่วยแก้ไขปัญหาให้ฉัน: http://www.rcneil.com/blog/postfix-local-loop-in-plesk/

ส่วนที่เกี่ยวข้องคือ:

ค้นหาไฟล์กำหนดค่า 'main.cf' ของคุณสำหรับ PostFix ซึ่งสำหรับ CentOS 6 จะอยู่ที่ /etc/postfix/main.cf ...

จากนั้นเปิดไฟล์ผ่านตัวแก้ไขข้อความหรือในเชลล์ Linux และสร้างบรรทัดเหล่านี้:

virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual
virtual_mailbox_maps = hash:/var/spool/postfix/plesk/vmailbox

แสดงความคิดเห็นแบบนี้:

#virtual_mailbox_domains = $virtual_mailbox_maps, hash:/var/spool/postfix/plesk/virtual_domains
#virtual_alias_maps = $virtual_maps, hash:/var/spool/postfix/plesk/virtual`
#virtual_mailbox_maps = hash:/var/spool/postfix/plesk/vmailbox`

จากนั้นเริ่มบริการ Postfix ใหม่ ... และ voila! ที่อยู่อีเมลของคุณควรได้รับอีเมลเหล่านี้แล้ว

เพียงแค่ต้องการบันทึกที่นี่ในกรณีที่มีคนพบว่ามีประโยชน์ที่จะทราบว่าการตั้งค่าที่เหมาะกับฉัน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.