跳到主內容

Postfix 設定 SMTP 寄信

  BUBU 因公司有站台系統是通過 Postfix 方式進行寄信件傳送,本篇是記錄怎麼利用 Postfix 來設從 SMTP 服務來寄送信件

運行環境


  • 系統環境:CentOS 7.9

設定流程


  • 在設定之前先安裝必要的套件服務
yum install -y postfix cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain mailx
  • postfix 服務下的設定檔 vim /etc/postfix/main.cf
#relayhost =   << 將這裡註解起來不要用

移到最下載新增以下的內容

# sets mail server as relay
relayhost = 郵件伺服器:587

#  use tls
smtp_use_tls=yes

# use sasl when authenticating to foreign SMTP servers
smtp_sasl_auth_enable = yes 

# path to password map file
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

# list of CAs to trust when verifying server certificate
smtp_tls_CAfile = /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem

# eliminates default security options which are imcompatible with gmail
smtp_sasl_security_options = noanonymous

#for outgoing changes only "smtp".
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks

# envelope_sender
sender_canonical_maps = regexp:/etc/postfix/sender_canonical_maps
  • 在 postfix 新增加一個檔案 vim /etc/postfix/sasl_passwd ,在下面新增加您在電子郵件連線方式及帳密
郵件伺服器:587  username:password
  • 執行 sasl_passwd
postmap /etc/postfix/sasl_passwd
  • 新增 FROM 資訊 vim /etc/postfix/smtp_header_checks
/^From:.*/ REPLACE From: HOSTNAME-alert <[email protected]>
  • 新增寄件者郵件 vim /etc/postfix/sender_canonical_maps
/.+/    [email protected]
  • 設定權限只能限制 postfix 可以執行
cd /etc/postfix
chown postfix sasl_passwd*
  • 重啟 postfix 服務
systemctl reload postfix
  • 測試看是否能正常寄信
echo "Test mail from postfix" | mail -s "Test Postfix" [email protected]

備註





參考相關網頁