Linux中國

使用 Postfix 從 Fedora 系統中獲取電子郵件

交流是非常重要的。你的電腦可能正試圖告訴你一些重要的事情。但是,如果你沒有正確配置郵件傳輸代理(MTA),那麼你可能不會收到通知。Postfix 是一個易於配置且以強大的安全記錄而聞名的 MTA。遵循以下步驟,以確保從本地服務發送的電子郵件通知將通過 Postfix MTA 路由到你的互聯網電子郵件賬戶中。

安裝軟體包

使用 dnf 來安裝一些必須軟體包(你應該配置了 sudo,對吧?):

$ sudo -i
# dnf install postfix mailx

如果以前配置了不同的 MTA,那麼你可能需要將 Postfix 設置為系統默認。使用 alternatives 命令設置系統默認 MTA:

$ sudo alternatives --config mta
There are 2 programs which provide 'mta'.
  Selection    Command
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number: 2

創建一個 password_maps 文件

你需要創建一個 Postfix 查詢表條目,其中包含你要用於發送電子郵件賬戶的地址和密碼:

# MY_EMAIL_ADDRESS=glb@gmail.com
# MY_EMAIL_PASSWORD=abcdefghijklmnop
# MY_SMTP_SERVER=smtp.gmail.com
# MY_SMTP_SERVER_PORT=587
# echo "[$MY_SMTP_SERVER]:$MY_SMTP_SERVER_PORT $MY_EMAIL_ADDRESS:$MY_EMAIL_PASSWORD" >> /etc/postfix/password_maps
# chmod 600 /etc/postfix/password_maps
# unset MY_EMAIL_PASSWORD
# history -c

如果你使用的是 Gmail 賬戶,那麼你需要為 Postfix 配置一個「應用程序密碼」而不是使用你的 Gmail 密碼。有關配置應用程序密碼的說明,參閱「使用應用程序密碼登錄」。

接下來,你必須對 Postfix 查詢表運行 postmap 命令,以創建或更新 Postfix 實際使用的文件的散列版本:

# postmap /etc/postfix/password_maps

散列後的版本將具有相同的文件名,但後綴為 .db

更新 main.cf 文件

更新 Postfix 的 main.cf 配置文件,以引用剛剛創建 Postfix 查詢表。編輯該文件並添加以下行:

relayhost = smtp.gmail.com:587
smtp_tls_security_level = verify
smtp_tls_mandatory_ciphers = high
smtp_tls_verify_cert_match = hostname
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/password_maps

這裡假設你使用 Gmail 作為 relayhost 設置,但是你可以用正確的主機名和埠替換系統應該將郵件發送到的郵件主機。

有關上述配置選項的最新詳細信息,參考 man 幫助:

$ man postconf.5

啟用、啟動和測試 Postfix

更新 main.cf 文件後,啟用並啟動 Postfix 服務:

# systemctl enable --now postfix.service

然後,你可以使用 exit 命令或 Ctrl+D 以 root 身份退出 sudo 會話。你現在應該能夠使用 mail 命令測試你的配置:

$ echo 'It worked!' | mail -s "Test: $(date)" glb@gmail.com

更新服務

如果你安裝了像 logwatchmdadmfail2banapcupsdcertwatch 這樣的服務,你現在可以更新它們的配置,以便它們的電子郵件通知轉到你的 Internet 電子郵件地址。

另外,你可能希望將發送到本地系統 root 賬戶的所有電子郵件都轉到互聯網電子郵件地址中,將以下行添加到系統的 /etc/alises 文件中(你需要使用 sudo 編輯此文件,或首先切換到 root 賬戶):

root: glb+root@gmail.com

現在運行此命令重新讀取別名:

# newaliases
  • 提示: 如果你使用的是 Gmail,那麼你可以在用戶名和 @ 符號之間添加字母數字標記,如上所示,以便更輕鬆地識別和過濾從計算機收到的電子郵件。

常用命令

查看郵件隊列:

$ mailq

清除隊列中的所有電子郵件:

# postsuper -d ALL

過濾設置,以獲得感興趣的值:

$ postconf | grep "^relayhost|^smtp_"

查看 postfix/smtp 日誌:

$ journalctl --no-pager -t postfix/smtp

進行配置更改後重新載入 postfix:

$ systemctl reload postfix

via: https://fedoramagazine.org/use-postfix-to-get-email-from-your-fedora-system/

作者:Gregory Bartholomew 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國