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
Другие вопросы по тегам