refinerycms 查询无法发送邮件

refinerycms inquiries cannot send email

我正在 Debian 8 64 位机器上的 Rails (RefineryCMS) 项目上设置 Ruby。我在 ruby 中使用 ActionMailer 发送电子邮件。当我尝试使用联系我们表格(refinerycms-inquiries 插件的一部分)发送电子邮件时,出现以下错误;

exim: bad -f address ""test - Company Name" \<no-reply@\>": missing or malformed local part (expected word or "<")

我在默认位置安装了 sendmail /usr/sbin/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

您的 from_mail 中似乎没有域:no-reply@

参见:refinerycms-inquiries/app/mailers/refinery/inquiries/inquiry_mailer.rb