在 Ubuntu 上使用 Gmail 配置 Sendmail


Sendmail 是一種流行的郵件傳輸代理,用於在計算機之間傳送電子郵件。它可能預設安裝在 Ubuntu 上,這使得它成為從伺服器傳送電子郵件的便捷選擇。如果您使用 Gmail,您可以配置 Sendmail 透過 Gmail 帳戶傳送電子郵件。

在本文中,我們將向您展示在 Ubuntu 上使用 Gmail 配置 Sendmail 的過程。

要求

在開始之前,有一些要求需要在 Ubuntu 上使用 Gmail 配置 Sendmail:

  • 一個 Gmail 帳戶

  • 一個 Ubuntu 伺服器

  • 在您的 Ubuntu 伺服器上安裝 Sendmail

  • 在您的 Ubuntu 伺服器上安裝 OpenSSL

如果您沒有安裝 OpenSSL,可以透過執行以下命令來安裝它:

sudo apt-get install openssl

步驟 1:建立 Gmail 應用密碼

要使用 Gmail 配置 Sendmail,您需要建立一個應用密碼。這是一個唯一的密碼,您將使用它來對您的電子郵件帳戶進行身份驗證,並與 Sendmail 配合使用。

要建立應用密碼,請按照以下步驟操作:

  • 登入您的 Gmail 帳戶。

  • 點選右上角的個人資料圖片,然後選擇“Google 帳戶”。

  • 點選左側選單中的“安全”。

  • 向下滾動到“登入其他網站”部分,然後點選“應用密碼”。

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

  • 為您的裝置輸入一個自定義名稱,然後點選“生成”。

  • 記下生成的 16 位密碼。

步驟 2:配置 Sendmail

現在您已為您的 Gmail 帳戶建立了應用密碼,您可以配置 Sendmail 以使用它來發送電子郵件。請按照以下步驟配置 Sendmail:

  • 透過執行以下命令開啟 Sendmail 配置檔案:

sudo nano /etc/mail/sendmail.mc
  • 在檔案的末尾新增以下行:

define(SMART_HOST',[smtp.gmail.com]')dnl 
define(RELAY_MAILER_ARGS', TCP $h 587')dnl 
define(ESMTP_MAILER_ARGS', TCP $h 587')dnl 
define(confAUTH_OPTIONS', A p')dnl 
TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 
define(confAUTH_MECHANISMS', EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 
FEATURE(authinfo',`hash /etc/mail/auth/client-info')dnl
  • 儲存並關閉檔案。

  • 透過執行以下命令重新生成 Sendmail 配置:

sudo make -C /etc/mail
  • 透過執行以下命令重新啟動 Sendmail 服務:

sudo service sendmail restart

步驟 3:建立身份驗證檔案

接下來,您需要建立一個身份驗證檔案,其中包含您在步驟 1 中生成的應用密碼。請按照以下步驟建立身份驗證檔案:

  • 透過執行以下命令在 /etc/mail/auth 目錄中建立一個新檔案:

sudo nano /etc/mail/auth/client-info
  • 在檔案中新增以下行:

AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:16-digit-app-password"

將“user@gmail.com”替換為您自己的 Gmail 地址,並將“16-digit-app-password”替換為您在步驟 1 中生成的應用密碼。

  • 儲存並關閉檔案。

  • 透過執行以下命令設定身份驗證檔案的許可權:

sudo chmod 600 /etc/mail/auth/client-info
  • 透過執行以下命令重新生成身份驗證資料庫:

sudo makemap hash /etc/mail/auth/client-info < /etc/mail/auth/client-info

步驟 4:測試 Sendmail

最後,您可以透過傳送一封電子郵件來測試 Sendmail 是否已正確配置。請按照以下步驟使用 Sendmail 傳送電子郵件:

  • 在您的 Ubuntu 伺服器上開啟一個終端視窗。

  • 鍵入以下命令以建立一封新電子郵件:

echo "Subject: Test email" | sendmail -v recipient@email.com

將“recipient@email.com”替換為您要傳送電子郵件到的電子郵件地址。

  • 按 Enter 鍵,然後鍵入電子郵件正文。

  • 按 Ctrl+D 傳送電子郵件。

  • 檢查您傳送電子郵件到的電子郵件地址,並確認您已收到電子郵件。

如果您收到了電子郵件,則表示 Sendmail 正在正常工作,並且已配置為使用您的 Gmail 帳戶傳送電子郵件。

使用 Gmail 配置 Sendmail 的優勢

在 Ubuntu 上使用 Gmail 配置 Sendmail 有幾個優點。其中一些包括:

  • 可靠的交付 - 當您使用 Gmail 配置 Sendmail 時,您可以依靠 Gmail 伺服器的穩定性和可靠性來確保您的電子郵件成功投遞。

  • 增強的安全性 - 透過使用應用密碼而不是常規的 Gmail 密碼,您可以提高 Gmail 帳戶的安全性,並防止未經授權的訪問。

  • 便利性 - 使用 Gmail 配置 Sendmail 是一種從 Ubuntu 伺服器傳送電子郵件的便捷方式。您可以從命令列傳送電子郵件,或使用指令碼自動執行電子郵件任務。

  • 低成本 - 使用 Sendmail 和 Gmail 是從 Ubuntu 伺服器傳送電子郵件的低成本解決方案。您無需設定自己的郵件伺服器或付費使用外部電子郵件服務。

常見問題和故障排除

雖然使用 Gmail 配置 Sendmail 是一個相對簡單的過程,但您可能會遇到一些常見問題。以下是一些常見問題及其解決方案:

  • “中繼被拒絕” - 如果您收到一條顯示“中繼被拒絕”的錯誤訊息,則表示您的 Gmail 帳戶未被授權透過 Sendmail 傳送電子郵件。要解決此問題,您需要為您的 Gmail 帳戶建立一個應用密碼,並將其新增到 Sendmail 配置檔案中。

  • 身份驗證失敗 - 如果您收到一條顯示“身份驗證失敗”的錯誤訊息,則表示您使用的應用密碼不正確。仔細檢查您是否輸入了正確的應用密碼,然後重試。

  • SSL 證書驗證 - 如果您收到一條顯示“SSL 證書驗證失敗”的錯誤訊息,則表示 Sendmail 無法驗證 Gmail 伺服器的 SSL 證書。要解決此問題,您需要透過執行以下命令安裝 ca-certificates 軟體包:

sudo apt-get install ca-certificates
  • 埠 587 被阻止 - 如果您收到一條顯示“連線被拒絕”或“連線超時”的錯誤訊息,則可能是因為您的伺服器上的埠 587 被阻止了。您可以透過執行以下命令檢查埠 587 是否已開啟:

telnet smtp.gmail.com 587

如果連線被拒絕或超時,您可能需要檢查防火牆設定或聯絡您的託管服務提供商。

結論

在 Ubuntu 上使用 Gmail 配置 Sendmail 是一個簡單的過程,只需幾個簡單的步驟即可完成。透過遵循本文中概述的步驟,您可以輕鬆設定 Sendmail 以透過您的 Gmail 帳戶傳送電子郵件。設定完成後,您可以使用 Sendmail 從 Ubuntu 伺服器向任何其他電子郵件地址傳送電子郵件,使其成為電子郵件通訊的便捷工具。

更新於: 2024-05-24

9K+ 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

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