作者 | Joe
譯者 | geekpi ? ? 共計翻譯:687 篇 貢獻時間:1621 天
這篇文章是在我之前的部落格中發表過的在 Ubuntu 16.04 上配置 MSMTP 的一個副本。我再次發表是為了後續,我並不知道它是否能在更高版本上工作。由於我沒有再託管自己的 Ubuntu/MSMTP 伺服器了,所以我現在看不到有需要更新的地方,但是如果我需要重新設定,我會建立一個更新的帖子!無論如何,這是我現有的。
我之前寫了一篇在 Ubuntu 12.04 上配置 msmtp 的文章,但是正如我在之前的文章中暗示的那樣,當我升級到 Ubuntu 16.04 後出現了一些問題。接下來的內容基本上是一樣的,但 16.04 有一些小的更新。和以前一樣,這裡假定你使用 Apache 作為 Web 伺服器,但是我相信如果你選擇其他的 Web 伺服器,也應該相差不多。
我使用 msmtp[1] 傳送來自這個部落格的郵件倆通知我評論和更新等。這裡我會記錄如何配置它透過 Google Apps 帳戶傳送電子郵件,雖然這應該與標準的 Google 帳戶一樣。
首先,我們需要安裝 3 個軟體包:
sudo apt-get install msmtp msmtp-mta ca-certificates
安裝完成後,就需要一個預設配置。預設情況下,msmtp 會在 /etc/msmtprc
中查詢,所以我使用 vim
建立了這個檔案,儘管任何文字編輯器都可以做到這一點。這個檔案看起來像這樣:
# Set defaults.
defaults
# Enable or disable TLS/SSL encryption.
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# Setup WP account's settings.
account GMAIL
host smtp.gmail.com
port 587
auth login
user YOUR USERNAME
password YOUR PASSWORD
from FROM@ADDRESS
logfile /var/log/msmtp/msmtp.log
account default :
任何大寫選項都是需要替換為你特定的配置。日誌檔案是一個例外,當然你也可以將活動/警告/錯誤放在任何你想要的地方。
檔案儲存後,我們將更新上述配置檔案的許可權 ,如果該檔案的許可權過於開放,msmtp 將不會執行,並且建立日誌檔案的目錄。
sudo mkdir /var/log/msmtp
sudo chown -R www-data:adm /var/log/msmtp
sudo chmod 0600 /etc/msmtprc
接下來,我選擇為 msmtp 日誌配置 logrotate,以確保日誌檔案不會太大並讓日誌目錄更加整潔。為此,我們建立 /etc/logrotate.d/msmtp
並使用按以下內容配置。請註意,這是可選的,你可以選擇不這樣做,或者你可以選擇以不同方式配置日誌。
/var/log/msmtp/*.log {
rotate 12
monthly
compress
missingok
notifempty
}
現在配置了日誌,我們需要透過編輯 /etc/php/7.0/apache2/php.ini
告訴 PHP 使用 msmtp,並將 sendmail 路徑從
sendmail_path =
變成
sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -a -t"
這裡我遇到了一個問題,即使我指定了帳戶名稱,但是當我測試它時,它並沒有正確傳送電子郵件。這就是為什麼 account default :
這行被放在 msmtp 配置檔案的末尾。要測試配置,請確保 PHP 檔案已儲存並執行 sudo service apache2 restart
,然後執行 php -a
並執行以下命令
mail ('personal@email.com', 'Test Subject', 'Test body text');
exit();
此時發生的任何錯誤都將顯示在輸出中,因此錯誤診斷會相對容易。如果一切順利,你現在應該可以使用 PHP sendmail(至少 WordPress 可以)中用 Gmail(或 Google Apps)從 Ubuntu 伺服器傳送電子郵件。
我沒有說這是最安全的配置,所以當你看到並且意識要這個非常不安全,或者有其他嚴重的錯誤,請讓我知道,我會相應地更新。
via: https://codingproductivity.wordpress.com/2018/01/18/configuring-msmtp-on-ubuntu-16-04-again/
作者:JOE[3] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出