2017-01-19 1 views
1

J'ai essayé d'ajouter plusieurs destinataires à une classe Mailer en utilisant le code suivant dans Rails 4:Comment ajouter plusieurs destinataires à un courrier électronique dans Rails4?

#/app/mailers/newsletter.rb 
class Newsletter < ApplicationMailer 

    default to: Proc.new { Admin.pluck(:email) }, 
      from: '[email protected]' 

    def sample_email 
    mail(subject: "Newsletter") 
    end 

end 

#/app/controllers/messages_controller.rb 
class MessagesController < ApplicationController 

    def create 
    ... 
    if @message.save 
     Newsletter.sample_email.deliver_now 
     ... 
    else 
     ... 
    end 
    end 

end 

Le problème est que lorsque je crée un nouveau message du contrôleur de messages, je ne reçois une email sur l'un des comptes administrateur (le premier) - Mon but est d'envoyer le même email à tous les administrateurs de ma base de données.

J'ai évidemment manqué quelque chose, mais je ne sais pas quoi. Toute aide serait grandement appréciée.

Répondre

0

Juste le tableau est suffisant!

default to: Admin.pluck(:email) 
+0

Merci pour votre réponse rapide - je ne reçois toujours qu'un e-mail sur mon premier compte admin. Où d'autre aurais-je pu foirer? –

+0

Si vous avez des valeurs nulles, alors je recommande par défaut: Admin.pluck (: email) - [nil] ' –

+0

Ne semble pas fonctionner non plus. Je vais essayer d'ajouter quelques informations supplémentaires - peut-être que l'erreur est ailleurs. J'utilise Heroku pour l'hébergement et Sendgrid pour envoyer les emails. J'ai mes informations d'identification Sendgrid en utilisant des variables d'environnement et j'ai mes paramètres smtp configurés dans mon fichier production.rb –

0

Les destinataires du message doivent être une chaîne dans laquelle les adresses de messagerie sont séparées par une virgule. Exemple: "[email protected], [email protected]"

+0

Merci pour votre réponse - Je viens de résoudre le problème avec beaucoup d'aide de @Aniket - Je voulais juste ajouter qu'il accepte également un tableau au lieu d'une chaîne. Exemple: ["[email protected]", "[email protected]"] –