ฉันจะตั้งค่า Mail Transfer Agent ได้อย่างไร


17

ฉันตั้งใจจะใช้muttเพื่อส่งอีเมลอัตโนมัติผ่านทางcronหรือatมีเอกสารแนบไปยังที่อยู่ gmail ของฉันเมื่อมีเหตุการณ์เฉพาะเกิดขึ้นบนเซิร์ฟเวอร์ Ubuntu ของฉัน ขณะนี้muttไม่สามารถส่งอีเมลไปยังที่อยู่อีเมลภายนอกฉันเชื่อว่าเป็นเพราะฉันต้องตั้งค่า Mail Transfer Agent ฉันจะเลือก MTA ที่เหมาะสมได้อย่างไรและฉันจะตั้งค่าให้ทำสิ่งที่ฉันต้องการได้อย่างไร


1
คุณไม่จำเป็นต้องมี cron หรือส่งอีเมลไปยังบัญชี gmail ของคุณ MTA ที่กำหนดค่าอย่างเหมาะสมควรเพียงพอสำหรับสิ่งนั้น
JanC

ฉันต้องสามารถแนบไฟล์แนบกับอีเมลขาออกได้ดังนั้นฉันจึงคิดว่าฉันจะต้องใช้ mutt
conorgriffin

1
นี่เป็นคำถามที่สำคัญ พวกเราหลายคนตั้งค่าเซิร์ฟเวอร์ Linux และต้องการวิธีส่งจดหมายเหตุการณ์และรายงาน ในหลายกรณี (ส่วนใหญ่!) เซิร์ฟเวอร์อีเมลที่เต็มไปด้วยความผิดพลาดมากเกินไป ฉันเรียนรู้ว่าเมื่อเร็ว ๆ นี้การตั้งค่า Postfix สำหรับงานดังกล่าว ฉันควรจะตั้งค่าเครื่องมือส่งอย่างเดียวอย่างใดอย่างหนึ่งเหล่านี้และฉันจะทำในอนาคต
Don Faulkner

คำตอบ:


20

มีสองสามตัวเลือกที่ต้องทำเมื่อเลือก MTA ที่จะติดตั้ง คนแรกคือว่าคุณต้องการMTA แบบส่งหรือคุณต้องการเซิร์ฟเวอร์อีเมลที่เต็มเปี่ยม

โพสต์ Unix.SE นี้ จะให้รายการที่ครอบคลุมของ MTA แบบส่งได้อย่างเดียว ทั้งหมดนี้บรรจุอยู่ใน Ubuntu 10.10 แล้ว มีบางสิ่งที่คุณอาจต้องการพิจารณาเมื่อเลือก MTA สำหรับส่งอย่างเดียว:

  1. ไม่ว่าจะเป็นคิวอีเมลสำหรับการจัดส่งในภายหลังในกรณีที่เกิดความล้มเหลว: IIRC nullmailerสามารถทำได้

  2. ไม่ว่าจะเป็นการแทนที่เอเจนต์การนำส่งเมลของระบบ (มองหาบรรทัดProvides: mail-transport-agentในเอาต์พุตapt-cache show package) หากเป็นเช่นนั้นเมลทั้งหมดที่มาจากระบบ (รวมถึงรายงานจากงาน cron สถิติความนิยม ฯลฯ ) จะถูกจัดการโดย MTA ที่คุณติดตั้ง: หากคุณไม่ได้ตั้งค่านามแฝงอีเมลที่ถูกต้องสำหรับผู้ใช้rootและผู้ใช้รายอื่นอีเมล อาจจบลงด้วยการส่งที่อยู่ผิด (โดยทั่วไปคือดูแลระบบบางส่วนที่ ISP ของคุณ) ปัจจุบันแพคเกจnullmailer, esmtp-run( แต่ไม่ esmtp) และssmtpตกอยู่ในหมวดหมู่นี้

  3. MTA แบบส่งอย่างเดียวทั้งหมดจะส่งต่ออีเมลของคุณไปยังเซิร์ฟเวอร์อื่น (เรียกว่า "รีเลย์โฮสต์" หรือ "smarthost" โดยทั่วไปคือเซิร์ฟเวอร์ SMTP ของ ISP) จากนั้นให้จัดการรายละเอียดทั้งหมดของการส่งจดหมายทางอินเทอร์เน็ตจริง คุณจำเป็นต้องทราบว่ามีข้อกำหนดพิเศษใด ๆ สำหรับการเชื่อมต่อกับเซิร์ฟเวอร์ ISP (เช่นการตรวจสอบความถูกต้องบางอย่างหรือ TLS) และเลือก MTA ที่รองรับคุณสมบัติที่ต้องการ (ตัวอย่างเช่นssmtpไม่รองรับการตรวจสอบความถูกต้องหรือ SSL / TLS)

เซิร์ฟเวอร์อีเมลเต็มเปี่ยม ได้แก่exim , postfixและ sendmail สคริปต์การติดตั้งหลังการติดตั้งสำหรับ Debian / Ubuntu จะทำงานได้อย่างยอดเยี่ยมในการสร้างการกำหนดค่าที่ใช้งานได้สำหรับการตั้งค่าทั่วไป (การส่งจดหมายไปยังระบบภายในเครื่องเท่านั้นการส่งอีเมลผ่านทาง "smarthost" - เช่นเซิร์ฟเวอร์อีเมล อีเมลทั้งหมดของคุณผ่านโดยทั่วไปเป็นโฮสต์ SMTP ของ ISP เว็บไซต์อินเทอร์เน็ตที่มีการเชื่อมต่อขาเข้าและขาออกเต็มรูปแบบ) IMHO postfix เป็นวิธีที่ง่ายที่สุดในการเรียกใช้และกำหนดค่า แต่เนื่องจากมีความสามารถมากคู่มือการตั้งค่าจึงมีความยาวมากกว่า MTA แบบส่งอย่างเดียว

นอกจากนี้ความเสี่ยงที่แท้จริงในการตั้งค่าเซิร์ฟเวอร์อีเมลคือหากคุณทำผิดพลาดในการกำหนดค่าท้องถิ่นคุณจะได้รับจดหมายที่ส่งไปยังสถานที่ที่ไม่ถูกต้อง (อ่าน: สูญหาย) หรือ - แย่กว่าด้วยระบบรีเลย์แบบเปิด ที่ผู้ส่งอีเมลขยะสามารถใช้งานได้ (และเชื่อใจฉันพวกเขาสามารถค้นหารีเลย์แบบเปิดได้ก่อนที่คุณจะรู้ว่าเซิร์ฟเวอร์ของคุณเป็นเซิร์ฟเวอร์เดียว)

คำแนะนำของฉันคือการเริ่มต้นด้วย MTA แบบส่งอย่างเดียวและจากนั้นอัปเกรดเป็นเซิร์ฟเวอร์เมลแบบเต็มเฉพาะเมื่อคุณเห็นว่าจำเป็นต้องใช้ (ซึ่งไม่ใช่กรณีถ้าคุณเพียงแค่ต้องการส่งอีเมลไปยังที่อยู่ GMail ของคุณ)


ตกลงดังนั้นให้บอกว่าฉันจะตั้งค่าที่อยู่อีเมลเช่น myserver@gmail.com และเปิดใช้งาน smtp ในบัญชี gmail ฉันสามารถกำหนดค่าโปรแกรมไคลเอนต์บนเซิร์ฟเวอร์เพื่อส่งจดหมายโดยใช้บัญชี Gmail นี้ผ่านทาง SMTP และหลีกเลี่ยงความซับซ้อนของการตั้งค่าเซิร์ฟเวอร์อีเมลที่ครบถ้วน
conorgriffin

@Griffo: ใช่นี่คือสิ่งที่ MTA "ส่งอย่างเดียว" ทำ เพียงใช้msmtp(ตามที่แนะนำในคำตอบของ ixtmixilix) หรือเลือกจากรายการที่ URL ที่ฉันโพสต์ไว้ด้านบน
Riccardo Murri

+1 สำหรับ nullmailer ... ฉันใช้บนเซิร์ฟเวอร์ของฉันและมันสะดวกมาก น้ำหนักเบามากติดตั้งง่าย และเมื่อมันได้ผลคุณก็ไม่ต้องกังวลอีกต่อไป :)
Little Jawa

นอกจากนี้ mda (The DragonFly Mail Agent) สามารถจัดคิวอีเมลเพื่อการส่งในภายหลัง
Tomasz Zieliński

มันคือ dma ไม่ใช่ mda (The DragonFly Mail Agent)
Andreas J.

6

msmtpฉันจะแนะนำ การตั้งค่าระบบอีเมลอื่น ๆ เช่นเป็นsendmailเรื่องที่ค่อนข้างยุ่งยาก เมื่อคุณmsmtpตั้งค่าแล้วคุณสามารถใช้กับmuttและคุณยังสามารถปลอมแปลงมันsendmailเพื่อให้โปรแกรมไม่ทราบความแตกต่างระหว่าง MTA สองตัว รายละเอียดแบบเต็มมีอยู่ในเว็บไซต์


3

ลิงค์ด้านล่างมีตัวเลือก MTA ทั้งหมดที่คุณสามารถเลือกได้ตามเวอร์ชั่นของ Ubuntu:

http://packages.ubuntu.com/precise/mail-transport-agent (สำหรับ 12.04)
http://packages.ubuntu.com/trusty/mail-transport-agent (สำหรับ 14.04)

โดยส่วนตัวแล้วฉันพบว่าssmtpติดตั้งและใช้งานง่ายมากเพียงแค่ 2 คำสั่งก็จะทำ:

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp

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