授权多个域通过仅发送 Postfix 服务器发送

授权多个域通过仅发送 Postfix 服务器发送

rails 应用程序正在向 postfix 发送电子邮件进行处理并From: do-not-reply@some_domain.top 返回错误:

[ActionMailer::MailDeliveryJob] [fa3df6b5-72a4-4a57-a5f8-ef7a98e4d8a9] 
Error performing ActionMailer::MailDeliveryJob (Job ID: fa3df6b5-72a4-4a57-a5f8-ef7a98e4d8a9) 
from GoodJob(default) in 2613.2ms:  
Net::SMTPFatalError (551 5.7.1 Not authorised to send from this header address

因此/etc/postfix/main.cf需要适当的设置。目前:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 2
   # TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/sandbox.domain.club/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/sandbox.domain.club/privkey.pem
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = sandbox.domain.club
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost.$myhostname, localhost, $myhostname

relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

案例的众多使得对文献和/或参考文献的理解变得复杂。

目前有两个问题。

  1. 有多个拥有自己域名的发行者(均受 SPF、DKIM 和 DMARC 保护)
  2. 这些域名上颁发了多个证书。说实话,即使现有的引用也是错误的,因为 letsencrypt 已经重写了证书,sandbox.domain.club-0001但这很容易修复

如何将 Postfix 配置为使用来自域的,例如some_domain.top, sandbox.domain.club, twirlingaround.com

*注:此处指出的可能途径已尝试,但是由于先前的绑定,postfix 服务器无法启动,我推测这是因为中127.0.0.1的设置不同造成的。main.cfinet_interfaces

答案1

这个问题和后缀关​​系不大,因为只有

masquerade_domains =  some_domain.top sandbox.domain.club twirlingaround.com

被添加作为一项安全措施。

问题出在 rails 配置上。该config/environment/[acting_environment].rb 文件需要设置为:

  config.action_mailer.delivery_method = :sendmail
  config.action_mailer.smtp_settings = {
    openssl_verify_mode: 'none'
  }

相关内容