В соответствии с главами 5 и 5.1 официального документа ActionMailer: http://guides.rubyonrails.org/action_mailer_basics.html
Мы видим, что нет опции ': exim4', доступной как 'delivery_method'.
Так что я быпредложить "обмануть" ActionMailer, что он использует sendmail (хотя он будет использовать exim4).Используйте следующую конфигурацию в вашем файле config / enviroments / production.rb:
config.action_mailer.delivery_method = :sendmail
config.action_mailer.sendmail_settings = {
:location => '/usr/sbin/exim4',
:arguments => '-i'
}
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
Аргументы соответствуют следующим параметрам exim4:
- -t опция причиныполучатели сообщения, которые должны быть получены из строк заголовка To :, Cc: и Bcc: в сообщении, а не из аргументов команды.
- -i опция запрещает строку, содержащуюпросто точка от завершения сообщения.Только конец файла делает это.
Не используйте опцию -t.
Чтобы правильно настроить свой демон Exim4, я предлагаю этот быстрый практический совет: http://noosfero.org/Development/MailSending
Я настоятельно рекомендую вам выбрать « smarthost » на первом экране вместо «Интернет-сайт».
Это потому, что почтовые провайдеры Интернета (gmail, yahoo и т. д.) по умолчанию блокируют все электронные письма, которые приходят с неизвестных IP-адресов в Интернете (конечно, включая IP-адрес вашего нового сервера).
Если вы выбираете «smarthost»ваш сервер должен будет подключиться к существующему (и доверенному) почтовому серверу (gmail, Yahoo и т. д.), чтобы пересылать свои собственные сообщения электронной почты.Это обеспечит доставку ваших писем к месту назначения.
=== ОБНОВЛЕНИЕ
У меня были проблемы с настройкой его работы с -t optin с некоторых версий rails (3.2).У меня была следующая ошибка в моем / var / www / my_app / log / production.log :
Errno::ECONNREFUSED (Connection refused - connect(2) for "localhost" port 25)
Поэтому я удалил опцию -t, так как рельсы больше не включали To: поле в сообщении и скорее отправил его в командной строке.
Я обнаружил, что у другого разработчика возникла похожая проблема в этом приложении: gitlabhq
Я надеюсь, что это поможетлюди, делающие рельсы, работающие с exim4.