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:
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']
returns 一个数组,然后字符串插值在其上调用 to_s
,最后得到
"['user1@company.com', 'User1.Lastname@company.com','User2.Lastname@company.com']"
只传入数组,不插入字符串:
mail(:to=> CONFIG[company]['email'], :subject => "Daily Report")
我有一个问题,我可以通过硬编码数组的邮件程序发送电子邮件。 但是对于从 config.yml
中获取的数组,电子邮件不会通过这是我的 config.yml
company:
email:
- user1@company.com
- User1.Lastname@company.com
- User2.Lastname@company.com
这是我的邮件 class:
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']
returns 一个数组,然后字符串插值在其上调用 to_s
,最后得到
"['user1@company.com', 'User1.Lastname@company.com','User2.Lastname@company.com']"
只传入数组,不插入字符串:
mail(:to=> CONFIG[company]['email'], :subject => "Daily Report")