[英]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.