Я создаю проект Ruby on Rails (RefineryCMS) на 64-битной машине Debian. Я использую ActionMailer в рубине для отправки писем. Когда я пытаюсь отправить электронное письмо с помощью формы контакта (часть плагина refinerycms-запросов), я получаю следующую ошибку;Запросы на нефтеперерабатывающие заводы не могут отправлять по электронной почте
exim: bad -f address ""test - Company Name" \<[email protected]\>": missing or malformed local part (expected word or "<")
Я Sendmail установлен в месте по умолчанию/USR/SBIN/Sendmail и я могу отправить по электронной почте в командной строке, как это;
echo "Test" | mail -s Testmail mye[email protected]
В моей программе рельсы я поставил следующий в моем файле production.rb
# Configure the mail.
#
config.action_mailer.delivery_method = :sendmail
# Defaults to:
# config.action_mailer.sendmail_settings = {
# location: '/usr/sbin/sendmail',
# arguments: '-i -t'
# }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_options = {from: '[email protected]'}
Update
Построить новые рельсы проекта, используя ту же самую версию Rails, как мой refinerycms приложение (4.2) и настроить Mailer, и он работал нормально.
Это начинает выглядеть как проблема с конфигурацией в рамках самого Плана допроса RefineryCMS.
Update
После привязки сайта к соответствующему домену и удаление этих строк выше моего production.rb восстановить его обратно по умолчанию он работает.
ПРИМЕЧАНИЕ: Поскольку я нахожусь в Австралии и есть .com.au я должен был добавить следующее к моему application.rb файла:
config.action_dispatch.tld_length = 2