簡體   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