Я потратил время на исследования, и это то, о чем я мог думать.
Но, я уверен, что что-то не так с этой частью @users_emails += user.email
Как правильно использовать ActionMailer, когда я хочу использовать BCC?
Может ли кто-нибудь исправить мой код, чтобы заставить его работать?
Контроллеры/users_controller.rb
def send_all_at_once
@notification_users = User.where("users.country_id=?", 36)
@notification_users.each do |user|
@users_emails += user.email
end
@subject = "Test subject"
@body = "Test body"
CallMailer.call_email(@users_emails, @subject, @body).deliver
end
приложение/отправители/call_mailer.rb
class CallMailer < ActionMailer::Base
default :from => "[email protected]"
def call_email(@users_emails, @subject, @body)
mail(:to => "[email protected]",
:bcc => @users_emails,
:subject => @subject,
:body => @body) do |format|
format.html
format.text
end
end
end
просмотров/call_mailer/call_email.html.erb
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<p>
You received a message.
</p>
<p>
Subject: <%= raw @subject %>
</p>
<blockquote>
<p>
<%= simple_format(@body) %>
</p>
</blockquote>
<p>
From: <%= link_to root_url,root_url %>
</p>
</body>
</html>
Спасибо за комментарий! Как я могу создать массив с помощью '@notification_users.each do | user \' и 'user.email'? – MKK
Спасибо большое :) Все остальное выглядит хорошо для вас? – MKK
Возможно, вам придется попробовать передать '@ users_emails' как с _and_ без прилагаемых скобок. Поскольку '@ users_emails' уже является массивом, может быть необязательным вложить его в массив, как если бы вы отправляли отдельные электронные письма, например,' ['[email protected]', '[email protected]'] '. – zeantsoi