繁体   English   中英

ruby on rails动作邮件程序未从yaml文件接收到阵列的电子邮件

[英]ruby on rails action mailer not receiving emails to arrays from a yaml file

我有一个问题,我可以通过邮件发送硬编码数组的电子邮件。 但是电子邮件无法通过从config.yml中提取的数组进行处理

这是我的config.yml

company:
  email:
    - user1@company.com
    - User1.Lastname@company.com
    - User2.Lastname@company.com

这是我的邮件班:

class ReportMailer < ActionMailer::Base
  default :from => "donotreply@company.com"


  def send_report(company, file)

      mail(:to=> "#{CONFIG[company]['email']}", :subject => "Daily  Report")
    end
  end
end

当在我的Rails控制台中运行它并查看日志时,似乎一切执行正常,但我没有收到电子邮件:

[DEBUG] 2016-04-21 18:21:29 :: Date: Thu, 21 Apr 2016 18:21:29 -0400
From: donotreply@merchantlink.com
to: ["user1@company.com", "User1.Lastname@company.com","User2.Lastname@company.com"]
 ...
 ...

 [INFO] 2016-04-21 18:21:29 ::
Sent mail to ["user1@company.com", "User1.Lastname@company.com", "User2.Lastname@company.com"]

如果我更改代码并将其替换为硬编码数组,而不是从config.yml中读取,则效果很好。

我读错了yaml数组吗?

正如@Alfie在注释中正确指出的那样,您正在将字符串化数组传递to:

CONFIG[company]['email']返回一个数组,然后字符串插值调用to_s ,最后得到

"['user1@company.com', 'User1.Lastname@company.com','User2.Lastname@company.com']"

只需传递数组而不将其插入字符串即可:

mail(:to=> CONFIG[company]['email'], :subject => "Daily  Report")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM