【发布时间】:2019-01-13 23:40:06
【问题描述】:
我正在尝试为 Ruby on Rails 应用程序设置一个简单的电子邮件发件人。我已经安装了 Postfix 并在我的 DNS 服务器中添加了一条 SFP 记录,因此电子邮件确实可以通过垃圾邮件过滤器,但我也想对电子邮件使用 TLS 加密,但还没有找到有效的设置。
以下是我尝试过的一些事情:
我们从 GoDaddy 购买了证书。当我通过以下方式告诉 postfix 使用该证书时:
后缀配置
# /usr/share/postfix/main.cf
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/my-cert.pem
smtpd_tls_key_file=/etc/ssl/private/my-cert.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/
Rails 配置
# /config/environments/my_env.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'localhost',
authentication: 'plain',
domain: 'my_domain.com',
enable_starttls_auto: true
}
错误响应为hostname "localhost" does not match the server certificate
如果我将 rails config 中的地址更改为我的服务器的域,它会抛出 454 4.7.1 <test_recipient@gmail.com>: Relay access denied。
问题是,我不明白为什么这里需要 SMTP。我在本地从服务器发送邮件,因此不需要 SMTP / 身份验证。我的预感是我可以告诉 Rails 直接使用 :sendmail,但我还没有找到让 sendmail 使用 TLS 的方法。
我觉得我遗漏了一些东西,我只想在邮件从发件人到收件人的过程中加密。 (即避免使用 Gmail red unlocked lock)还有我不知道的其他工具吗? (对 Mandrill 等第三方邮件服务器不感兴趣)。
【问题讨论】:
标签: ssl sendmail tls1.2 postfix-mta