Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 命令列發送郵件完整指南:sendEmail 工具安裝、配置與測試流程

編輯:關於 Linux

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

命令列發信流程示意圖

安裝 sendEmail (Perl 腳本,無需編譯)

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 作為提交代理 (可選)

若系統已安裝 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

關閉本地 sendmail 服務 (節省資源)

# 停止服務
service sendmail stop
service sm-client stop

# 關閉開機自啟
chkconfig sendmail off
chkconfig sm-client off

# 驗證
chkconfig --list sendmail
# 全部顯示 off 即成功

sendEmail 常用參數速查

參數說明
-f寄件者信箱
-t收件者 (可多個,逗號分隔)
-u主旨
-m內文 (或 -o message-file=file 讀取檔案)
-sSMTP 伺服器:埠
-xu / -xpSMTP 認證帳號/密碼
-o tls=yes啟用 STARTTLS
-a附件路徑 (可多次)
-q靜默模式

安全性提醒

  • SMTP 密碼勿硬編碼於腳本,建議使用環境變數或密碼管理工具
  • Relay 伺服器需設定 IP 白名單或 SMTP 認證,防止濫發垃圾郵件
  • 大量發送需遵守郵件服務商頻率限制,避免 IP 信譽受損
Copyright © Windows教程網 All Rights Reserved