歡迎光臨
每天分享高質量文章

在 Ubuntu 16.04 上配置 msmtp | Linux 中國

我使用 msmtp 傳送來自這個部落格的郵件倆通知我評論和更新等。這裡我會記錄如何配置它透過 Google Apps 帳戶傳送電子郵件,雖然這應該與標準的 Google 帳戶一樣。
— Joe


致謝
編譯自 | https://codingproductivity.wordpress.com/2018/01/18/configuring-msmtp-on-ubuntu-16-04-again/ 
 作者 | 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 個軟體包:

  1. sudo apt-get install msmtp msmtp-mta ca-certificates

安裝完成後,就需要一個預設配置。預設情況下,msmtp 會在 /etc/msmtprc 中查詢,所以我使用 vim 建立了這個檔案,儘管任何文字編輯器都可以做到這一點。這個檔案看起來像這樣:

  1. # Set defaults.

  2. defaults

  3. # Enable or disable TLS/SSL encryption.

  4. tls on

  5. tls_starttls on

  6. tls_trust_file /etc/ssl/certs/ca-certificates.crt

  7. # Setup WP account's settings.

  8. account GMAIL

  9. host smtp.gmail.com

  10. port 587

  11. auth login

  12. user YOUR USERNAME

  13. password YOUR PASSWORD

  14. from FROM@ADDRESS

  15. logfile /var/log/msmtp/msmtp.log

  16. account default :

任何大寫選項都是需要替換為你特定的配置。日誌檔案是一個例外,當然你也可以將活動/警告/錯誤放在任何你想要的地方。

檔案儲存後,我們將更新上述配置檔案的許可權 ,如果該檔案的許可權過於開放,msmtp 將不會執行,並且建立日誌檔案的目錄。

  1. sudo mkdir /var/log/msmtp

  2. sudo chown -R www-data:adm /var/log/msmtp

  3. sudo chmod 0600 /etc/msmtprc

接下來,我選擇為 msmtp 日誌配置 logrotate,以確保日誌檔案不會太大並讓日誌目錄更加整潔。為此,我們建立 /etc/logrotate.d/msmtp 並使用按以下內容配置。請註意,這是可選的,你可以選擇不這樣做,或者你可以選擇以不同方式配置日誌。

  1. /var/log/msmtp/*.log {

  2.    rotate 12

  3.    monthly

  4.    compress

  5.    missingok

  6.    notifempty

  7. }

現在配置了日誌,我們需要透過編輯 /etc/php/7.0/apache2/php.ini 告訴 PHP 使用 msmtp,並將 sendmail 路徑從

  1. sendmail_path =

變成

  1. sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -a -t"

這裡我遇到了一個問題,即使我指定了帳戶名稱,但是當我測試它時,它並沒有正確傳送電子郵件。這就是為什麼 account default : 這行被放在 msmtp 配置檔案的末尾。要測試配置,請確保 PHP 檔案已儲存並執行 sudo service apache2 restart,然後執行 php -a 並執行以下命令

  1. mail ('personal@email.com', 'Test Subject', 'Test body text');

  2. 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中國 榮譽推出

贊(0)

分享創造快樂

© 2024 知識星球   網站地圖