如何在 Starlight™ 虛擬機上設定郵件伺服器

要在您的虛擬機(VM)開啟 25 埠,請前往 Starlight Manager > 選擇「Mail Bridge」分頁 > 按下「新增 Mail Bridge」按鈕。

設定好 PTR 記錄並啟用 25 埠後,您可以設置您偏好的 SMTP 伺服器。以下是 PostfixEximSendmail 的範例。請使用您在 VM IP 中顯示於 Starlight Manager 的 IP,並確保您的 PTR 記錄的網域名稱 與您的寄件網域相符(例如 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



以下指令會顯示一個設定精靈介面,讓用戶決定 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 檔案,備份原始設定檔,並使用以下其中一種方式產生新設定檔:

1)使用內建的 makefile /etc/mail 來建立新設定:

make all -C /etc/mail/

 

所有在 /etc/mail 產生的檔案如有需要都會重新產生。

2)或者,您可以使用 m4巨集處理器來建立新的 /etc/mail/sendmail.cf。該 m4巨集處理器預設未安裝。使用它來建立 /etc/mail/sendmail.cf 前,請以 root 身份安裝 m4套件:

# for Almalinux/Cloudlinux/RHEL

yum install m4


# for Ubuntu/Debian

apt install m4


以下 Sendmail 設定檔位於 /etc/mail/ 目錄:

  • access- 指定哪些系統可使用 Sendmail 發送外寄郵件

  • domaintable- 網域名稱對應

  • local-host-names - 伺服器主機的別名

  • mailertable- 覆寫特定網域路由的指令

  • virtusertable- 指定網域專屬的別名方式,允許多個虛擬網域在同一台機器上運作。


以下是設定檔可如何編輯的範例:

# 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

上述部分設定檔必須將資訊儲存在資料庫檔案中,變更才會生效。要套用設定檔的任何變更,請以 root 身份執行 makemap hash /etc/mail/<name> < /etc/mail/<name> 指令。這裡 <name> 代表要更新的設定名稱。

執行 systemctl restart sendmail 指令以重新啟動 Sendmail 程序。

必須提供有效的電郵地址