在Ubuntu上配置Postfix與Gmail


引言

Postfix是一個郵件傳輸代理,用於傳送和接收電子郵件。它易於安裝和配置在Ubuntu伺服器上。

在本教程中,我們將向您展示如何在Ubuntu上配置Postfix與Gmail。

前提條件

在繼續之前,您將需要以下內容:

  • 一個執行中的Ubuntu伺服器

  • 一個Gmail帳戶

  • 一個有效的域名,並配置為指向伺服器的IP地址

步驟1:安裝Postfix

第一步是在您的Ubuntu系統上安裝Postfix。您可以透過執行以下命令來實現:

sudo apt-get install postfix

安裝過程中,系統會提示您選擇郵件伺服器配置和選項。您應該選擇“Internet站點”,並在詢問時填寫您的伺服器域名。

步驟2:配置Postfix

安裝Postfix後,您需要將其配置為使用Gmail作為所有電子郵件的中繼。使用以下命令開啟主要的Postfix配置檔案:

sudo nano /etc/postfix/main.cf

在檔案末尾新增以下幾行:

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

儲存並退出檔案。

步驟3:建立Gmail應用密碼

要使用Gmail作為中繼伺服器,您需要在Gmail配置中建立一個應用密碼。此密碼用於驗證Gmail伺服器以中繼電子郵件。要建立應用密碼,您可以按照以下步驟操作:

  • 登入您的Gmail帳戶。

  • 轉到您的Google帳戶設定頁面。

  • 點選“安全”。

  • 在“登入Google”下,點選“應用密碼”。

  • 選擇“郵件”作為應用,選擇“其他 (自定義名稱)”作為裝置。

  • 輸入密碼名稱,然後點選“生成”。

  • 記下生成的密碼。

步驟4:在Postfix中新增Gmail憑據

現在您已建立應用密碼,需要將其新增到Postfix。透過執行以下命令,在/etc/postfix目錄中建立一個名為“sasl_passwd”的新檔案:

sudo nano /etc/postfix/sasl_passwd

將以下行新增到檔案中,將“your-email@gmail.com”替換為您的Gmail地址,將“your-password”替換為您生成的應用密碼:

 [smtp.gmail.com]:587 your-email@gmail.com:your-password

儲存並退出檔案。

現在,使用以下命令對sasl_passwd檔案進行雜湊處理:

sudo postmap /etc/postfix/sasl_passwd

步驟5:重新啟動Postfix

現在使用以下命令重新啟動Postfix服務以應用更改:

sudo systemctl restart postfix

步驟6:測試配置

要測試配置,請使用“mail”命令傳送一封電子郵件,並將“recipient@email.com”替換為您要傳送電子郵件的電子郵件地址:

echo "Test email" | mail -s "Test subject" recipient@email.com

如果一切配置正確,則電子郵件應該被髮送並由收件人接收。

高階配置選項

有幾個額外的配置選項,您可以使用它們來微調Postfix和Gmail整合。以下是一些最有用的選項:

  • “smtp_tls_CAfile” - 此選項允許您指定要用於TLS加密的自定義證書頒發機構 (CA) 檔案。如果您想使用與Ubuntu預設包含的CA不同的CA,這將非常有用。

  • “smtp_tls_security_level” - 此選項確定TLS加密所需的安全性級別。可能的值為“may”、“encrypt”、“dane”和“verify”。預設值為“may”,這意味著如果可能,則使用TLS加密。

  • “smtp_tls_mandatory_protocols” - 此選項指定允許的最低TLS協議版本。可能的值為“TLSv1”、“TLSv1.1”和“TLSv1.2”。預設值為“TLSv1”。

  • “smtp_tls_mandatory_ciphers” - 此選項指定允許的最低TLS密碼。預設值為“high”。

  • “smtp_tls_exclude_ciphers” - 此選項允許您從允許的密碼列表中排除特定TLS密碼。

  • “smtp_tls_note_starttls_offer” - 此選項會在郵件頭中新增一條註釋,指示伺服器在SMTP會話期間是否提供了STARTTLS命令。

您可以像relayhost和sasl_passwd選項一樣,將這些選項新增到/etc/postfix/main.cf檔案中。這是一個使用其中一些選項的示例配置:

relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_security_level = encrypt
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3
smtp_tls_mandatory_ciphers = high
smtp_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, SRP, CAMELLIA128, CAMELLIA256, SEED
smtp_tls_note_starttls_offer = yes

此配置指定以下選項:

  • relayhost設定為smtp.gmail.com:587,這是Gmail SMTP伺服器和埠號。

  • smtp_use_tls設定為“yes”,啟用SMTP連線的TLS加密。

  • smtp_sasl_auth_enable設定為“yes”,啟用SASL身份驗證。

  • smtp_sasl_password_maps設定為/etc/postfix/sasl_passwd,其中包含Gmail憑據。

  • smtp_sasl_security_options設定為“noanonymous”,這要求客戶端使用SASL身份驗證來標識自己。

  • smtp_tls_CAfile設定為/etc/ssl/certs/ca-certificates.crt,這是Ubuntu的預設CA檔案。

  • smtp_tls_security_level設定為“encrypt”,這要求使用TLS加密。

  • smtp_tls_mandatory_protocols設定為“!SSLv2,!SSLv3”,不允許使用SSLv2和SSLv3。

  • smtp_tls_mandatory_ciphers設定為“high”,這要求使用強大的TLS密碼。

  • smtp_tls_exclude_ciphers設定為不允許使用的弱TLS密碼列表。

  • smtp_tls_note_starttls_offer設定為“yes”,這會在郵件頭中新增一條註釋,指示伺服器是否提供了STARTTLS命令。

結論

在本教程中,我們向您展示瞭如何在Ubuntu上配置Postfix與Gmail。此配置允許您使用您的Gmail帳戶傳送和接收電子郵件。透過遵循這些步驟,您可以輕鬆設定Postfix以在您的Ubuntu伺服器上使用Gmail作為中繼。

更新於:2024年2月26日

4K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.