วิธีการตั้งค่าเซิร์ฟเวอร์อีเมลบน Starlight™ Virtual Machine

ในการเปิดพอร์ต 25 บน Virtual Machine (VM) ของคุณ ให้ไปที่ Starlight Manager > เลือกแท็บ "Mail Bridge" > กดปุ่ม ‘Add Mail Bridge’

เมื่อกำหนดค่า PTR record และเปิดใช้งานพอร์ต 25 แล้ว คุณสามารถตั้งค่าเซิร์ฟเวอร์ SMTP ที่คุณต้องการได้ ด้านล่างนี้คือตัวอย่างสำหรับ Postfix, Exim และ Sendmail ใช้ VM IP ที่แสดงใน Starlight Manager และตรวจสอบให้แน่ใจว่า ชื่อโดเมนสำหรับ PTR record ตรงกับโดเมนผู้ส่งของคุณ (เช่น mail.example.com)

การติดตั้งและตั้งค่า Postfix

# for Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# for Almalinux/Rocky/Cloudlinux/EL

# check RPM-based distros to check

# if Postfix is installed

rpm -qa | grep postfix

# if it is not, run the command below to install Postfix

sudo dnf install postfix



เมื่อ Postfix ติดตั้งแล้ว คุณสามารถเริ่มบริการและตรวจสอบให้แน่ใจว่าบริการเริ่มต้นหลังจากรีบูตเซิร์ฟเวอร์:

sudo systemctl start postfix

sudo systemctl enable postfix

จากนั้นคุณสามารถตั้งค่าบริการได้ ตัวเลือกทั้งหมดที่จำเป็นสำหรับบริการจะอยู่ในไดเรกทอรี /etc/postfix และไฟล์การตั้งค่าหลักคือ /etc/postfix/main.cf

รันคำสั่ง sudo nano /etc/postfix/main.cf เพื่อเริ่มแก้ไขไฟล์การตั้งค่าหลักและเพิ่มหรืออัปเดตบรรทัดเหล่านี้:

inet_interfaces = all

# myhostname declares mail server’s hostname

myhostname = mail.example.com

# mydomain declares the domain that actually handles emails

domain = example.com

# mail_spool_directory declares the directory where mailbox files are placed

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



รีสตาร์ท Postfix เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart postfix



ทดสอบการส่งอีเมล:

echo "Test message" | mail -s "Test Email" user@recipient.com

การติดตั้งและตั้งค่า Exim 4

# for Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



คำสั่งด้านล่างจะแสดงอินเทอร์เฟซผู้ใช้แบบ wizard สำหรับตั้งค่าซอฟต์แวร์นี้ โดยให้ผู้ใช้ตัดสินใจว่า Exim จะต้องแยกการตั้งค่าเป็นหลายไฟล์หรือเก็บไว้ในไฟล์เดียว:

sudo dpkg-reconfigure exim4-config

หากใช้ตัวเลือกแรก การตั้งค่าจะถูกจัดเก็บไว้ใน /etc/exim4/conf.d โฟลเดอร์ย่อย หากเลือกไฟล์การตั้งค่าเดียว จะเป็น /etc/exim4/exim4.conf

เมื่อกำหนดค่าทั้งหมดเสร็จสิ้น ให้รัน systemctl restart exim4เพื่อให้การเปลี่ยนแปลงมีผล

แก้ไข /etc/exim4/update-exim4.conf.conf เพื่อให้แน่ใจว่า:

# dc_local_interfaces declares your mail service IP (e.g. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declares your system mail name

dc_readhost='example.com'

# dc_other_hostnames declares system hostname

dc_other_hostnames='mail.example.com'



รีสตาร์ท Exim เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart exim4


ทดสอบการส่งอีเมลโดยรันคำสั่งด้านล่าง:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

การติดตั้งและตั้งค่า Sendmail

# for Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# for Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


ไฟล์การตั้งค่าหลักของ Sendmail คือ /etc/mail/sendmail.cf หลีกเลี่ยงการแก้ไขไฟล์นี้โดยตรง หากจำเป็นต้องแก้ไขการตั้งค่า ให้แก้ไขไฟล์ /etc/mail/sendmail.mc แทน สำรองไฟล์ config เดิมไว้ และใช้หนึ่งในทางเลือกต่อไปนี้เพื่อสร้างไฟล์ config ใหม่:

1) ใช้ makefile ที่มีมาให้ /etc/mail เพื่อสร้าง config ใหม่:

make all -C /etc/mail/

 

ไฟล์ที่สร้างทั้งหมดใน /etc/mail จะถูกสร้างใหม่หากจำเป็น

2) หรือคุณอาจใช้ m4macro processor เพื่อสร้าง /etc/mail/sendmail.cf ใหม่ โดยปกติแล้ว m4macro processor จะไม่ได้ติดตั้งมาโดยอัตโนมัติ ก่อนใช้งานเพื่อสร้าง /etc/mail/sendmail.cf ให้ติดตั้งแพ็กเกจ m4ในฐานะ root:

# for Almalinux/Cloudlinux/RHEL

yum install m4


# for Ubuntu/Debian

apt install m4


ไฟล์การตั้งค่า Sendmail ต่อไปนี้อยู่ในไดเรกทอรี /etc/mail/:

  • access- ระบุว่าระบบใดสามารถใช้ Sendmail สำหรับส่งอีเมลออก

  • domaintable- การแมปชื่อโดเมน

  • local-host-names - นามแฝงสำหรับโฮสต์เซิร์ฟเวอร์

  • mailertable- คำแนะนำที่แทนที่การกำหนดเส้นทางสำหรับโดเมนเฉพาะ

  • virtusertable- ระบุรูปแบบนามแฝงเฉพาะโดเมน อนุญาตให้โฮสต์หลาย virtual domains บนเครื่องเดียวกัน


ด้านล่างนี้คือตัวอย่างวิธีการแก้ไขไฟล์การตั้งค่า:

# editing the server host aliases:

echo "mail.example.com" > /etc/mail/local-host-names


# binding to Mail IP by editing /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# rebuilding the config:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# testing:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

ไฟล์การตั้งค่าบางไฟล์ที่กล่าวถึงข้างต้นต้องจัดเก็บข้อมูลในไฟล์ฐานข้อมูลก่อนที่การเปลี่ยนแปลงจะมีผล เพื่อรวมการเปลี่ยนแปลงที่ทำในไฟล์การตั้งค่า ให้รันคำสั่ง makemap hash /etc/mail/<name> < /etc/mail/<name>ในฐานะ root ที่นี่ <name> หมายถึงชื่อของการตั้งค่าที่จะอัปเดต

รีสตาร์ทกระบวนการ Sendmail โดยรันคำสั่ง systemctl restart sendmailนี้

จำเป็นต้องใช้อีเมลที่ถูกต้อง