在 Ubuntu 16.04 中配置 Postfix 以使用 Gmail 發送郵件
我已將 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 SES、SendGrid、MailGun、Mailchannels或SparkPost。每個都有自己的特定優勢,您可以免費嘗試大多數,有些有非常慷慨的免費津貼。