ส่งต่อจดหมายขาเข้าบนเซิร์ฟเวอร์ Linux หรือไม่


19

ฉันกำลังพยายามตั้งค่าการส่งต่ออีเมลบนเซิร์ฟเวอร์ใหม่ของฉัน ตัวอย่างเช่นฉันต้องการ emailaddress@mydomain.com เพื่อส่งต่ออีเมลทั้งหมดที่ส่งไปยังพูดถึง otheremail@gmail.com ฉันไม่ต้องการ / ต้องการให้สามารถส่งอีเมลจาก mydomain

ฉันใช้ Ubuntu 10.04 และเป็นเซิร์ฟเวอร์ของฉันดังนั้นฉันจึงสามารถเข้าถึงรูทและสามารถติดตั้ง / แก้ไขสิ่งที่จำเป็นได้ ฉันมีประสบการณ์ Linux สองสามปี แต่ไม่เคยเล่นกับเซิร์ฟเวอร์เมลมาก่อนดังนั้นฉันจึงไม่รู้อะไรเกี่ยวกับพวกเขาอย่างแท้จริง ดังนั้นฉันไม่สามารถเข้าใจคำถามทั้งหมดที่เคยถามเกี่ยวกับหัวข้อนี้ ดูเหมือนจะมีคำตอบที่แตกต่างกันมากมายและต้องใช้เวลานานในการอ่านเกี่ยวกับวิธีแก้ปัญหาทั้งหมดที่เสนอ ที่ถูกกล่าวว่าทุกคนสามารถชี้ให้ฉันไปในทิศทางที่ถูกต้องเกี่ยวกับวิธีการทำสิ่งนี้? ขอขอบคุณ!

คำตอบ:


19

ฉันชอบ postfix ง่ายกว่าในการกำหนดค่าและโดยค่าเริ่มต้นสิ่งส่วนใหญ่จะถูกปิด:

  1. ติดตั้ง postfix
  2. ใน /etc/postfix/main.cf ตั้งค่าสองตัวเลือกเหล่านี้

    mydomain = example.com
    mydestination = example.com
    

    แทนที่ "example.com" ด้วยโดเมนจริงของคุณ สิ่งนี้สำคัญมาก

  3. เป็นทางเลือกใน main.cf ตั้งค่าmyhostnameเป็นสิ่งที่เหมาะสม (อาจเป็น "example.com")
  4. เพิ่มบรรทัดนี้ที่ใดก็ได้ใน main.cf:

    local_transport = error:local delivery is disabled
    

    สิ่งนี้จะปิดการขนส่งในพื้นที่ดังนั้นการส่งอีเมลไปยังผู้ใช้ในท้องถิ่นจะถูกปิด (คุณสามารถข้ามไปได้เนื่องจากคุณต้องการให้ผู้ใช้ในพื้นที่รับอีเมล)

  5. ใน main.cf ตรวจสอบให้แน่ใจว่าคุณมีบรรทัดนี้ (ควรมีรูปแบบมากมายที่แสดงความคิดเห็น):

    alias_maps = hash:/etc/aliases # (or `hash:/etc/mail/aliases`, etc.)
    
  6. ตอนนี้แก้ไข/etc/aliases(หรือ/etc/mail/aliasesอะไรก็ตามที่อยู่ใน main.cf) และสร้างนามแฝง: emailaddress: otheremail@gmail.comนี่จะทำให้อีเมลขาเข้าสำหรับ "emailaddress@example.com" ถูกส่งต่อไปยัง "otheremail@gmail.com"

  7. บันทึก main.cf และเรียกใช้คำสั่งนี้: postalias /etc/aliases( /etc/mail/aliasesหรืออะไรก็ตามที่อยู่ใน main.cf)
  8. เริ่ม postfix: sudo /etc/init.d/postfix start

นี่คือข้อมูลเพิ่มเติมสำหรับ postfix ใน ubuntu: https://help.ubuntu.com/community/Postfix


ฟังดูง่ายเหมือนกัน ฉันจะอัปเดตเมื่อผู้ดูแลระบบ DNS ของฉันได้รับระเบียน MX ที่จำเป็น
shanet

2
ใช่ฉันลืมที่จะพูดถึงว่าคุณต้องชี้ระเบียน MX ของโดเมนของคุณไปยังเซิร์ฟเวอร์นี้
Jon Lin

หลังจากล้มเหลวในการทำให้ sendmail ทำงานอย่างถูกต้องฉันลองใช้ Postfix กับเส้นทางของคุณ ตอนนี้มันทำงานได้อย่างสวยงาม ขอขอบคุณ!
shanet

1
ฉันจะได้รับRecipient address rejected: local delivery is disabled
Oliver Dixon

@OliverDixon ฉันด้วย
Laizer

4

คุณมีเซิร์ฟเวอร์จดหมายขาเข้าที่ใช้งานได้หรือไม่? คุณได้ตั้งค่าระเบียน MX สำหรับโดเมนของคุณหรือยัง

  • ตั้งค่าระเบียน mx ใน DNS
  • ติดตั้ง sendmail

ตั้งค่า/etc/mail/virtusertableด้วยบรรทัดโอนสายต่อไปนี้:

emailaddress@mydomain.com   otheremail@gmail.com

งั้นเหรอ? ฉันติดต่อผู้ดูแลระบบ DNS ของฉันเกี่ยวกับการเพิ่มระเบียน MX และติดตั้ง sendmail แล้ว หวังว่าจะมีการเพิ่มระเบียน MX ในวันพรุ่งนี้และฉันจะอัปเดตในภายหลัง
shanet

ฉันตัดสินใจลองวิธีนี้ มันไม่ได้ "ง่ายขนาดนั้น" แต่มันก็ตรงไปตรงมา - เพียงไม่กี่ก้าวที่จะผ่านไป ฉันโพสต์ขั้นตอนเป็นคำตอบสำหรับคำถามของฉันเอง - ซึ่งดูเหมือนจะเหมือนกับคำถามนี้
osullic

0

ฉันทำตามคำแนะนำจาก @ jon-lin และติดอยู่กับจดหมายที่ตีกลับด้วยที่อยู่ผู้รับที่ถูกปฏิเสธ: การส่งในพื้นที่เป็นข้อความที่ถูกปิดใช้งาน ฉันพบว่าการตั้งค่าแผนที่นามแฝงเสมือนใช้งานได้

  1. ติดตั้ง postfix

  2. เพิ่มบรรทัดเหล่านี้ใน main.cf:

    virtual_alias_domains = mydomain.com myanotherdomain.com

    virtual_alias_maps = hash:/etc/postfix/virtual

  3. ตั้งค่า/etc/postfix/virtualดังนี้:

    contact@mydomain.com myself@gmail.com

    sales@mydomain.com myself@gmail.com

    อีเมลแรกคือที่อยู่ที่ postfix จะได้รับอีเมลและที่สองคือที่อยู่ที่ postfix จะส่งต่ออีเมล โปรดสังเกตว่ารูปแบบที่นี่แตกต่างจากไฟล์นามแฝงซึ่งเป็นช่องว่างคั่น

  4. วิ่ง postmap /etc/postfix/virtual

  5. โหลดการตั้งค่า postfix ซ้ำด้วย sudo /etc/init.d/postfix reload

ดูคู่มือนี้สำหรับการอ้างอิง: http://www.binarytides.com/postfix-mail-forwarding-debian/

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