应用程序有多个租户,电子邮件应该反映该租户的域。实际上,mailer定义:
from_string = 'do-not-reply@' + shop.shop_value.email_host
subject_string = 'your order at ' + shop.name
mail(
from: from_string,
to: consumer.email,
subject: subject_string
)
但是,这似乎是通过 probably myhostname的/etc/postfix/main.cf
配置处理的
myhostname = maindomain.tld
mydestination = $myhostname, maindomain.tld, localhost.online, , localhost
导致以下记录的错误
Delivered mail 6442d7c523bf1_7fab24fe0933c6@maindomain.tld.mail
[...]
] OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 peeraddr=[::1]:25 state=error: certificate verify failed (hostname mismatch)):
现在在相关环境文件中看到了设置建议
openssl_verify_mode: 'none'
但这似乎总是指config.action_mailer.smtp_settings = {}
块...并且定义address, port, domain, disable_start_tls
没有意义,因为环境设置为:
config.action_mailer.delivery_method = :sendmail
postfix作为SMTP服务器运行,但此服务器被配置为只发送。然而,域设置为SPF和DKIM,以便其他服务器正确处理。
出现了三个问题:
1 -myhostname
可以是configured as an array。但是rails怎么知道如何切换到postfix呢?这是必要的吗?
2 -Rails是否可以接受以下命令(并且更快地实现):
config.action_mailer.smtp_settings = {
openssl_verify_mode: 'none'
}
即smtp_settings仍然渗透到sendmail处理。
3 -有没有一种方法可以通过sendmail_settings
来实现这个目标?
1条答案
按热度按时间z4bn682m1#
是可以接受的rails,并允许电子邮件传递到postfix。