มีเมลเซิร์ฟเวอร์ธรรมดาที่ฉันสามารถติดตั้งได้หรือไม่?


15

ฉันติดตั้ง Ubuntu บนเดสก์ท็อปไม่ใช่เซิร์ฟเวอร์ แต่ฉันกำลังใช้งาน localhost LAMP stack เพื่อการพัฒนา มีเมลเซิร์ฟเวอร์ธรรมดาที่ฉันสามารถติดตั้งเพื่อให้ sendmail ของ PHP ทำงานได้หรือไม่

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

แก้ไขเพื่อเพิ่ม - ฉันจะใช้การตั้งค่าท้องถิ่นเท่านั้นเพื่อทดสอบ php mail () ได้หรือไม่ ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


4

สิ่งที่ง่ายที่สุดที่ฉันเคยติดตั้งคือ postfix กับ dovecot มีแพ็กเกจ dovecot-postfix แต่ดูเหมือนว่าทีมเซิร์ฟเวอร์ของ Ubuntu ได้จัดทำแพ็กเกจนี้เป็นการส่งเมลสแต็ก:

Description: mail server delivery agent stack provided by Ubuntu server team
 Ubuntu's mail stack provides fully operational delivery with
 safe defaults and additional options. Out of the box it supports IMAP,
 POP3 and SMTP services with SASL authentication and Maildir as default
 storage engine.

เมื่อมองใน Software Center ฉันเห็นว่า dovecot-postfix เป็น meta-pacakge (แต่ฉันไม่รู้ว่ามันจะถูกเรียกว่ารีลีสหรือสองต่อจากนี้) แต่นั่นคือสิ่งที่ฉันแนะนำ - มันตรงไปตรงมาและปลอดภัย

จากบรรทัดคำสั่งบนเดสก์ท็อป 10.10 ของฉันฉันติดตั้งผ่าน apt-get:

sudo apt-get install dovecot-postfix

ให้มันยิงถ้าคุณชอบและถ้าคุณมีคำถามเพียงแค่เริ่มโพสต์ใหม่


นี่คือโพสต์บล็อกเซิร์ฟเวอร์ Ubuntu ที่เก่าแก่ (2009) ที่ให้รายละเอียดบางอย่างเกี่ยวกับการกำหนดค่า dovecot-postfix

ฉันพยายามหาข้อมูลเพิ่มเติมเกี่ยวกับสถานะปัจจุบันของโครงการ Mailserver ของ Ubuntu ที่มีศูนย์กลางอยู่ที่ Ubuntu ตอนนี้ฉันไม่พบอะไรมากไปกว่าวิกิโพสต์เมื่อเดือนพฤษภาคม 2010เกี่ยวกับการทำให้การรวมระบบป้องกันสแปม / ไวรัสง่ายขึ้น


1
ทำไมคุณถึงต้องการใช้ Dovecot ด้วย? เป็นเซิร์ฟเวอร์ POP3 / IMAP ถ้าไม่มีใครต้องการรับอีเมลด้วยและให้ความสามารถแก่ผู้ใช้ในการเข้าถึงอีเมลผ่าน POP3 / IMAP ก็ไม่จำเป็น สิ่งเดียวเท่านั้นที่เป็นประโยชน์: postfix สามารถใช้ auth daemon ของ dovecot เพื่อใช้เป็นแบ็กเอนด์การพิสูจน์ตัวตนสำหรับการพิสูจน์ตัวตน SMTP อย่างไรก็ตามฉันคิดว่ามันไม่จำเป็นสำหรับจดหมายของ PHP () เว้นแต่มีใครบางคนมีโซลูชันการส่งจดหมาย "ที่เขียนด้วยตนเอง" สำหรับ PHP ซึ่งเกี่ยวข้องกับการรับรองความถูกต้อง SMTP แม้กระทั่งในกรณีที่ส่งจดหมาย ในกรณีอื่น ๆ เพียงแค่ "postfix" แพ็คเกจควรจะเพียงพอ
LGB

ฉันรู้ว่ามันได้รับการกำหนดค่าอย่างง่ายดายและฉันได้ติดตั้งไว้สำหรับการรับรองความถูกต้องและคุณลักษณะด้านความปลอดภัยตามที่คุณกล่าวถึง ฉันติดตั้งแล้วและใช้งานได้ในขณะที่ฉันไม่ได้ติดตั้งเพียง postfix ด้วยตัวเองในระบบ Ubuntu ดังนั้นฉันจึงไม่สามารถรับรองได้
belacqua

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

เราใช้ postfix ที่ ISP ของเราที่ซึ่งฉันทำงานอยู่ แต่แน่นอนว่าไม่ใช่ "เซิร์ฟเวอร์เมลแบบง่ายสำหรับเมล PHP () เท่านั้น" :)
LGB

1
@jgbelacqua - ขอบคุณ มันได้ผล! ฉันต้องเปลี่ยนการตั้งค่าโพรโทคอลจาก sendmail เป็นเพียงเมลธรรมดา (ในโค้ด php ของฉัน) แต่มันก็ใช้ได้ดี
EmmyS

7

เพียงแค่postfixต้องการ

สำหรับการตั้งค่าเพียงใช้ค่าเริ่มต้น เว็บไซต์อินเทอร์เน็ต. เมื่อคุณไปถึงจะมีส่วนสำหรับการตั้งค่าคอมพิวเตอร์ที่อนุญาตให้ส่งเมลผ่านเซิร์ฟเวอร์ ค่าเริ่มต้นคือ 127.0.0.1 (worded verbosely มากกว่าเล็กน้อย) และนี่เป็นสิ่งที่ดี ซึ่งหมายความว่าแม้ว่าคอมพิวเตอร์เครื่องอื่นสามารถเชื่อมต่อกับ postfix ได้ แต่postfixจะไม่อนุญาตให้ส่งจดหมายไปที่ใดก็ได้ แต่ไปยังปลายทาง postfix ยอมรับว่าเป็นโดเมน "local"

แต่การรักษาความปลอดภัยเครือข่ายที่ดีจะไม่ทำให้คุณเจ็บปวด เราเตอร์ปิดกั้นการเชื่อมต่อเข้ามาและ / หรือไฟร์วอลล์ (ดูufw) postfixจะหยุดคนอื่นติดต่อ

หากคุณต้องการกำหนดค่าใหม่เพียงแค่เรียกใช้:

sudo dpkg-reconfigure postfix

สำหรับการทดสอบฉันจะตั้งค่าให้ใช้รีเลย์ของ ISP ของคุณเป็น Smarthost ในการทำงานอย่างถูกต้องบนอินเทอร์เน็ตคุณต้องมีที่อยู่ IP แบบคงที่และรายการ DNS ที่ถูกต้อง
BillThor

@BillThor ไม่ต้องการส่งอีเมล คุณต้องการเพียงการตั้งค่าที่ง่ายมากโดยไม่มีข้อกำหนดสำหรับการเชื่อมต่อขาเข้า
Oli

@Oli จริง แต่ไม่มี DNS ที่ถูกต้องบันทึกเว็บไซต์จำนวนมากจะนำอีเมลของคุณไปยังถังขยะ หากที่อยู่ของคุณเป็นแบบไดนามิกและแสดงอยู่ใน Spamhaus จะมีการปฏิเสธโดยโดเมนจำนวนมาก
BillThor

ที่จริงแล้วมันไม่สำคัญสำหรับฉันหากโดเมนปฏิเสธ - นี่เป็นจุดประสงค์ในการทดสอบอย่างเคร่งครัดดังนั้นฉันจึงส่งให้ตัวเองเท่านั้นและตราบใดที่ฉันเห็นคิวอีเมลของ postfix รู้ว่ามันพยายามส่ง ฉันสบายดี.
EmmyS

@ บิล ธ อร์แน่นอนว่าคุณจะไม่ได้รับความไว้วางใจในระดับเดียวกัน แต่เรากำลังพูดถึงกล่องการพัฒนา หากคุณต้องการความไว้วางใจ (วิธีที่คุณกำลังพูดถึง) คุณใช้บริการระดับมืออาชีพที่ใช้เวลา (และเงิน) ในการรับรองการส่งออก mailservers ของพวกเขาเป็นแฮม ประเด็นของฉันคือ dovecot, dns และอื่น ๆ ล้วนเป็นของเสียเวลา / ทรัพยากร สิ่งที่คุณต้องมีคือการกำหนดค่าเริ่มต้นของ postfix
Oli

1

ถ้าคุณเพียงต้องการที่จะแก้ปัญหาในพื้นที่คุณสามารถทำตามวิธีนี้นำเสนอในที่ StackOverflow บรรทัดเดียวใน php.ini ไม่มีแพ็คเกจเพิ่มเติม เขียนเมลขาออกของคุณไปยังไฟล์ที่สามารถเปิดด้วยเมลไคลเอ็นต์ในกรณีที่คุณต้องการดีบักเมล HTML

sendmail_path = 'tee /tmp/mylocal.mail > /dev/null'

0

ดี GUI หรือ CL อินเทอร์เฟซสำหรับเซิร์ฟเวอร์จดหมายไม่ได้เป็นคำถามที่สำคัญเนื่องจากคุณไม่ต้องการ UI สำหรับเซิร์ฟเวอร์อีเมลอย่างไรก็ตามสำหรับการกำหนดค่าเริ่มต้นเท่านั้น (ตกลงและอาจเป็นบางครั้งเมื่อมีการเปลี่ยนแปลงการกำหนดค่าเช่น relayhost ฯลฯ แต่มันเป็นสถานการณ์ที่ไม่ค่อยเกิดขึ้นกับเซิร์ฟเวอร์ที่ทำงานอยู่แล้ว) ดังนั้นฉันไม่คิดว่ามันเป็นสิ่งสำคัญ ฉันสามารถแนะนำให้ใช้ postfix ก็พอที่จะเพียงแค่ติดตั้ง (apt-get install postfix) และการตั้งค่าพื้นฐานส่วนใหญ่จะถามในเวลาติดตั้ง จากนั้นมันจะทำงานกับเมลของ PHP () และอื่น ๆ ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติมหรือใช้งานหนัก / รายวันของ UI ใด ๆ (ให้เป็น GUI หรือ CLI แม้ว่าฉันไม่รู้เกี่ยวกับ GUI สำหรับการกำหนดค่า postfix อาจเป็นโซลูชันระบบทั่วไป เช่นเดียวกับ webmin จะทำงานเพื่อจุดประสงค์นี้ต่อไป) แค่ระวังอย่าสร้างระบบรีเลย์แบบเปิด :)


"ระวังให้ดีอย่าสร้างระบบรีเลย์แบบเปิด" - นั่นคือสาเหตุที่ฉันถามหาสิ่งที่เรียบง่ายด้วยอินเตอร์เฟส GUI ฉันเป็นนักพัฒนาไม่ใช่ผู้ดูแลระบบอีเมลและฉันต้องสามารถตั้งค่านี้ได้อย่างง่ายดายและปลอดภัยเพื่อจุดประสงค์ที่เป็นเอกเทศในการทดสอบรหัส php ที่ส่งอีเมล
EmmyS

ฉันเห็นประเด็นของคุณ อย่างไรก็ตามหากคุณต้องการให้เซิร์ฟเวอร์อีเมลสำหรับฟังก์ชั่นโครงสร้างพื้นฐานอีเมล PHP () ที่สามารถ underlaying เพื่อส่งอีเมลเป็นกรณีที่ค่อนข้างง่ายคุณสามารถลืม 99% ของปัญหาของผู้ดูแลระบบเซิร์ฟเวอร์อีเมล โดยเฉพาะอย่างยิ่งถ้าคุณมีเซิร์ฟเวอร์อีเมลแบบตายตัวคุณต้องการส่งเมลผ่าน (เรียกว่า "รีเลย์" หรือ "สมาร์ทโฮสต์") เป็นเรื่องง่ายมากและแม้แต่คำถามสองสามข้อที่ถามตอนติดตั้งแพ็คเกจก็เพียงพอแล้วสำหรับการตั้งค่า อาจมีปัญหาเช่นมีคนแคร็กหน้าเว็บและใช้เป็นแหล่งสแปม แต่ไม่ใช่เซิร์ฟเวอร์อีเมลที่เกี่ยวข้อง PHP / เว็บโฮสติ้งโฮสติ้งเพิ่มเติม ...
LGB

ฉันจะให้มันยิง ตอนนี้นี่คือ localhost 100%
EmmyS

นอกจากนี้ยังเป็นความผิดพลาดในการจัดการ GUI สำหรับการกำหนดค่าที่ง่ายขึ้นในกรณีที่โซลูชันเซิร์ฟเวอร์: เพื่อนของฉันหลายคนคิดว่าสิ่งต่าง ๆ ของ Windows นั้นง่ายกว่าเนื่องจากคุณไม่จำเป็นต้องรู้ "CLI และสิ่งที่ซับซ้อนอื่น ๆ " และคุณเป็นเซิร์ฟเวอร์อยู่แล้ว ผู้ดูแลระบบ อย่างไรก็ตามปัญหาที่เกิดขึ้นกับ GUI ที่คุณไม่ทราบว่ามีความหมายอะไรเกี่ยวกับ smtp แต่ GUI ไม่ได้ให้คุณมากกว่า CLI แต่มันเกินขอบเขตของคำถามเนื่องจากความต้องการของคุณไม่ใช่เซิร์ฟเวอร์เมลที่มีคุณสมบัติครบถ้วนเพียงอันเล็ก ๆ ที่ใช้ในการส่งอีเมลจาก PHP ถ้าฉันเข้าใจคุณดี
LGB

อย่างไรก็ตามฉันคิดว่าการติดตั้งแพคเกจ postfix เท่านั้นคุณต้องตอบคำถามง่าย ๆ หากคุณต้องการเปลี่ยนคุณสามารถออก "sudo dpkg-reconfigure postfix" เพื่อถามพารามิเตอร์เหล่านั้นอีกครั้ง postfix.org/postconf.5.htmlตามที่คุณเห็น postfix มีพารามิเตอร์การตั้งค่าจำนวนมากและ GUI จะไม่ช่วยเหลือสิ่งนี้มากเกินไป แต่สำหรับจุดประสงค์ของคุณฉันคิดว่ามันโอเคที่จะมีการตั้งค่าแพ็คเกจการตั้งค่าเท่านั้นที่จะถามและมันก็โอเคแล้ว :) :)
LGB

0

คุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์อีเมลในการส่งอีเมลเพียงเพื่อรับอีเมล สำหรับการส่งอีเมล (โดยใช้sendmail) เลือกInternet with smarthostตัวเลือก


0

MailCatcher ใช้งานเซิร์ฟเวอร์ SMTP ที่ใช้งานง่ายซึ่งจับข้อความใด ๆ ที่ส่งไปยังเซิร์ฟเวอร์เพื่อแสดงในเว็บอินเตอร์เฟส เรียกใช้ mailcatcher ตั้งค่าแอปโปรดของคุณเพื่อส่งไปยัง smtp: //127.0.0.1: 1025 แทนเซิร์ฟเวอร์ SMTP เริ่มต้นของคุณจากนั้นตรวจสอบhttp://127.0.0.1:1080เพื่อดูจดหมายที่มาถึง

https://mailcatcher.me/

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