我在开发模式下使用Ruby 1.9.2和Rails 3.0.4,我正在尝试将其配置为从安装在同一个盒子上的Postfix服务器发送电子邮件(运行带有dovecot-postfix软件包的Ubuntu 10.04) )每当我尝试从Rails发送电子邮件时,它会在Rails中干净利落地进行,但在Postfix日志中显示错误(我从下面的摘录中删除了域名和IP):
Feb 21 04:49:16 alpha postfix/smtpd[9060]: connect from alpha.mydomain.com[xxx.xxx.xxx.xxx]
Feb 21 04:49:16 alpha postfix/smtpd[9060]: lost connection after STARTTLS from alpha.mydomain.com[xxx.xxx.xxx.xxx]
Feb 21 04:49:16 alpha postfix/smtpd[9060]: disconnect from alpha.mydomain.com[xxx.xxx.xxx.xxx]
奇怪的是,当我从像Thunderbird这样的电子邮件客户端连接到SMTP服务器时,它没有任何问题。
我知道开发模式有时不允许发送电子邮件,所以我将以下内容添加到environment / development.rb文件中:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
#load mail server settings
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "mail.mydomain.com",
:port => 587,
:domain => 'mydomain.com',
:user_name => 'username',
:password => 'password',
:authentication => 'plain',
:tls => true,
:enable_starttls_auto => true }
答案 0 :(得分:11)
如果您只是从localhost发送电子邮件,那么您不需要SMTP及其附带的所有身份验证问题。您可以直接使用sendmail进行交付。
config.action_mailer.delivery_method = :sendmail
答案 1 :(得分:1)
您的证书是否可能无效,并且在发送电子邮件时Thunderbird会回归到普通SMTP?尝试在配置中禁用TLS。