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