Postfix & Rails 3.0 ActionMailer: потеря соединения после STARTTLS - PullRequest
1 голос
/ 21 февраля 2011

Я использую Ruby 1.9.2 и Rails 3.0.4 в режиме разработки и пытаюсь настроить его на отправку электронных писем с сервера Postfix, установленного на том же компьютере (Запуск Ubuntu 10.04 с установленным пакетом dovecot-postfix)) Всякий раз, когда я пытаюсь отправить электронное письмо от 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]

СтранноЧасть заключается в том, что когда я подключаюсь к SMTP-серверу из почтового клиента, такого как Thunderbird, он работает без проблем.

Я знаю, что режим разработки иногда не позволяет отправлять электронные письма, поэтому я добавил следующее в среду /файл 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  }

Ответы [ 2 ]

11 голосов
/ 25 мая 2012

Если вы просто отправляете электронную почту с локального хоста, вам не нужен SMTP и все проблемы с аутентификацией, которые идут с ним. Вы можете просто доставить с помощью sendmail напрямую.

config.action_mailer.delivery_method = :sendmail

1 голос
/ 21 февраля 2011

Возможно ли, что ваш сертификат недействителен и что Thunderbird возвращается к обычному SMTP при отправке электронных писем?Попробуйте отключить TLS в вашей конфигурации.

...