【发布时间】:2016-03-03 01:09:19
【问题描述】:
我正在 Debian 8 64 位机器上设置一个 Ruby on Rails (RefineryCMS) 项目。我在 ruby 中使用 ActionMailer 来发送电子邮件。当我尝试使用联系我们表单(refinerycms-inquiries 插件的一部分)发送电子邮件时,我收到以下错误;
exim: bad -f address ""test - Company Name" \<no-reply@\>": missing or malformed local part (expected word or "<")
我在默认位置 /usr/sbin/sendmail 安装了 sendmail,我可以像这样在命令行上发送电子邮件;
echo "Test" | mail -s Testmail myemail@example.com.au
在我的 rails 程序中,我在 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: 'no-reply@example.com.au'}
更新
使用与我的refinerycms 应用程序(4.2)相同版本的Rails 构建一个新的rails 项目并设置Mailer,它运行良好。
这开始看起来像是 RefineryCMS Inquiries 插件本身的配置问题。
更新
将网站链接到正确的域并从我的 production.rb 中删除上面的这些行后,将其恢复为默认值。
注意:由于我在澳大利亚并且拥有 .com.au,因此我必须将以下内容添加到我的 application.rb 文件中:
config.action_dispatch.tld_length = 2
【问题讨论】:
标签: ruby-on-rails email debian refinerycms exim