Ubuntu

在 Ubuntu 16.04 中配置 Postfix 以使用 Gmail 發送郵件

  • October 12, 2018

我已將 Postfix 配置為使用 Gmail 發送郵件。我修改了文件/etc/postfix/main.cf

添加

myhostname = fqdn.peris.app
mydestination = $myhostname, peris.app, localhost, localhost.localdomain, localhost
relayhost = [smtp.gmail.com]:587
# Enable SASL authentication
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Location of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
# Enable STARTTLS encryption
smtp_tls_security_level = encrypt
# Location of CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

我還登錄到我的 gmail 帳戶,然後點擊管理您的帳戶訪問和安全設置。向下滾動到“密碼和登錄方法”,然後點擊兩步驗證,確保已啟用兩步驗證並生成我在文件中使用的密碼

/etc/postfix/sasl/sasl_passwd

添加

[smtp.gmail.com]:587 mygmailaccount@gmail.com:xkltgnxoxzmocpce

然後我測試它:

sendmail recipient@elsewhere.com
From: info@peris.app
Subject: Test mail
This is a test email
.

我收到的recipient@elsewhere.com是一封來自mygmailaccount@gmail.com我認為我應該直接從我的域中收到的郵件,info@peris.app

如果您收到來自 的測試郵件mygmailaccount@gmail.com,這是一個好兆頭:這意味著您已經正確配置了您的後綴!

您似乎對 Google 重寫發件人地址感到不滿。解釋是您的 Gmail 帳戶只能從它知道是您的地址發送電子郵件,以避免欺騙。

驗證非Google電子郵件地址從而允許從您的 Gmail 帳戶中從該地址發送電子郵件的選項怎麼樣?這些電子郵件確實會從您的 Gmail 帳戶發送,但不會從 Google 的伺服器發送:事實上,當您從 Settings->Accounts 添加地址時,系統會要求您提供 SMTP 伺服器詳細資訊。原因是,如果從 Google 的伺服器發送這些郵件,最終可能會被標記為垃圾郵件。

您可以做的是將您的域添加到 Gsuite:這樣您就可以使用 Google 的伺服器發送和接收電子郵件。您將收到有關如何設置 SPF 記錄的說明,並且這些電子郵件不太可能被視為垃圾郵件。請注意,Gsuite 有固定的每月費用,但包含一些您可能需要或不需要的額外服務。

我覺得推薦的另一個選擇是使用 SMTP 中繼服務,例如Amazon SESSendGridMailGunMailchannelsSparkPost。每個都有自己的特定優勢,您可以免費嘗試大多數,有些有非常慷慨的免費津貼。

引用自:https://unix.stackexchange.com/questions/473907