SSMTP 是一個非常簡單實用的小工具,它可以將 Linux 系統的電子郵件中繼到 Office 365、Google 或其它第三方 SMTP 伺服器。 SSMTP 並不是一套成熟且完整的郵件伺服器,它只能自動將郵件提交到其它像 Google、騰訊、163、Office 365 這樣的 SMTP 伺服器。在本文中,我們將介紹如何設定 SSMTP 透過 Office 365 帳戶傳送電子郵件。
SSMTP如何運作
在正式安裝和設定之前,我們先簡要介紹下 SSMTP 是如何運作的。 SSMTP 可以被安裝到任意 Linux 系統當中,一旦設定完成,所有來自 root、nobody 或其它應用程式發送的郵件都可以透過 SSMTP 進行轉送。我們也可以設定 PHP、Python,、Ruby 等應用程式的郵件都使用該程式進行轉送。簡而言之,你可以將 SSMTP 理解為 Linux 中的 Mailhub。
在 Mailhub 中可以設定和指定 Gmail SMTP 伺服器或 Microsof Office365 SMTP 伺服器位址,一旦為其指定好伺服器和電子郵件地址,它便可以直接透過雲端服務發送郵件。
安裝SSMTP
#SSMTP 安裝非常簡單,許多 Linux 來源中都有提供,基於 RHEL 的 Linux 發行版(RHEL/CentOS/Fedora)可以使用以下指令安裝:
yum install ssmtp
Ubuntu 和 Debian 伺服器可以使用以下命令安裝:
sudo apt-get install ssmtp
安裝完成後所有設定檔都會寫入到/etc/ssmtp/目錄當中。
使用SSMTP取代sendmail/postfix
#一般情況下,許多Linux 發行版都使用Sendmail 或Postfix 作為默認了電子郵件系統,我們之所以使用SSMTP 就是為了使用外部SMTP 中繼,因此要將SSMTP 配置為系統默認,首先就得停用sendmail 或postfix 服務。
systemctl stop sendmail systemctl stop postfix
如果你使用較早版本 Linux,可以使用以下指令停用服務:
service sendmail stop service postfix stop
注意:還需停止 sendmail 或 postfix 服務隨系統啟動哦,最好還是直接卸載掉吧。
設定SSMTP使用Office365郵件地址
#使用vim 或你喜歡的任意編輯器對/etc/ssmtp/ssmtp.conf 檔案進行編輯,我們以Office 365 的SMTP 伺服器為例,如果你使用其它SMTP 請自行按服務商的官方文件進行修改:
root=admin@sysgeek.cn mailhub=smtp.office365.com:587 AuthUser=admin@sysgeek.cn AuthPass=XXXXX UseTLS=YES UseSTARTTLS=YES FromLineOverride=YES RewriteDomain:sysgeek.cn
#
設定檔修改並儲存好之後我們就可以用上 Office 365 提供的可靠郵件服務了,現在先用以下命令先發個測試郵件來看看:
echo "This is a test e-mail" | mail -s "Test Email" XXXX@qq.com
#
如果你在發送測試郵件時遇到類似以下提示:
ssmtp: Cannot open mail.server.com:25
那是因為ssmtp 預設會嘗試使用標準的SMTP 25 連接埠去連接郵件伺服器,如果你所使用的SMTP 中繼像Gmail 或Office 365 這樣採用了TLS 加密的非標準端口,還需要到/etc/ ssmtp/revaliases 設定檔中對寄件者、伺服器位址和連接埠進行指明:
以上是SSMTP—讓Linux系統從Office 365發送郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!