Rails 4 - почта не доставляется, если отправляется нескольким получателям (используя Sendgrid)
Я хочу отправлять сообщения с моими продуктами пользователям, зарегистрированным в моем приложении, пару раз в день. Вот метод рассылки, который я использую для этого:
def notify_users(product)
@product
emails = Customer.signed_up.pluck(:email_address)
puts "EMAILS:"
puts emails.inspect # I see here, say, 5 email addresses
emails.each do |email|
unless email.blank?
puts "Sending to #{email}" # email is displayed here properly
mail(to: email, subject: "New products", from: 'no-reply@website.com')
end
end
Я обнаружил, что если emails
содержит только 1 адрес электронной почты, письмо доставляется на адрес электронной почты. Но когда я отправляю письмо на несколько адресов электронной почты, обычно доставляется только последнее сообщение (так что если emails
продолжается ["a@gmail.com", "b@gmail.com", "c@gmail.com"]
), поэтому письмо доставляется только на c@gmail.com
,
Это почему? Пытаюсь выяснить причину этого, но пока безуспешно.
1 ответ
Попробуйте это так:
def send_notification_to_user(email)
puts "Sending to #{email}" # email is displayed here properly
mail(to: email, subject: "New products", from:'no-reply@website.com')
end
def notify_users(product)
@product
emails = Customer.signed_up.pluck(:email_address)
puts "EMAILS:"
puts emails.inspect # I see here, say, 5 email addresses
emails.each do |email|
unless email.blank?
send_notification_to_user(email).deliver_now
end
end
end