伺服器無需運行完整郵件伺服器 (Postfix/Sendmail) 即可發送郵件,輕量級工具 sendEmail 透過遠端 SMTP Relay 即可實現。本文涵蓋下載編譯安裝、配置本地 sendmail 提交協定、測試發送、關閉本地 sendmail 服務以節省資源的完整流程。

wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar -zxvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail /usr/local/bin/
chmod +x /usr/local/bin/sendEmail
若系統已安裝 sendmail 但未啟動,可修改 /etc/mail/submit.mc 指向遠端 SMTP:
# 原:FEATURE(`msp', `[127.0.0.1]')dnl
# 改:
FEATURE(`msp', `[smtp.your-relay.com]')dnl
cd /etc/mail
make
# 產生 submit.cf
# 使用 sendEmail (推薦,功能豐富)
sendEmail -f "sender@example.com" \
-t "recipient@example.com" \
-u "Test Subject" \
-m "Test message body" \
-s "smtp.relay.com:587" \
-xu "smtp_user" -xp "smtp_pass" \
-o tls=yes
# 使用 mail 指令 (需本地 sendmail 運行)
echo "Body" | mail -s "Subject" user@example.com
# 停止服務
service sendmail stop
service sm-client stop
# 關閉開機自啟
chkconfig sendmail off
chkconfig sm-client off
# 驗證
chkconfig --list sendmail
# 全部顯示 off 即成功
| 參數 | 說明 |
|---|---|
-f | 寄件者信箱 |
-t | 收件者 (可多個,逗號分隔) |
-u | 主旨 |
-m | 內文 (或 -o message-file=file 讀取檔案) |
-s | SMTP 伺服器:埠 |
-xu / -xp | SMTP 認證帳號/密碼 |
-o tls=yes | 啟用 STARTTLS |
-a | 附件路徑 (可多次) |
-q | 靜默模式 |
Linux less 指令進階完全指南:雙向捲動、搜尋、標記、多檔案、LESSOPEN 語法高亮
Linux rename 指令批次重命名完全攻略:C 語言版 vs Perl 版差異詳解
Apache 伺服器禁止特定 IP 存取:.htaccess 與 httpd.conf 兩種配置方式
Linux 磁碟分區與檔案系統核心概念解析:介面類型、硬碟結構、RAID 基礎
Linux netstat 查看 80 埠連線數完整指令集:總連線、ESTABLISHED、IP 統計與 Apache 並發分析
Linux 共享中斷處理技巧:request_irq SA_SHIRQ、dev_id 唯一性、硬體支援與處理程式判斷邏輯