7
votes

Comment annuler le courrier électronique dans la livraison_Email?

Je suis en train de mettre en œuvre une file d'attente de messagerie électronique. J'utilise l'intercepteur.

class MyInterceptor
  def self.delivering_email(mail)
    Email.queue(mail)
  end
end

ActionMailer::Base.register_interceptor(MyInterceptor)


0 commentaires

3 Réponses :


2
votes

J'ai trouvé une solution de contournement. Je viens de définir la livraison_method sur: Test.


2 commentaires

La syntaxe est la suivante: message.delivery_method: test


Méfiez-vous dans un environnement de production Ceci peut prendre des ressources car le tableau de livraison de TestMailer augmente avec chaque message qui dispose du mode de livraison .



0
votes

Il serait probablement préférable de définir simplement la livraison_method sur une classe d'agent de livraison personnalisée à la place (voir http://api.rubyonrails.org/v3.2.14/classes/actionmailer/base.html ).


0 commentaires

7
votes

SET Mail :: Message # EXPRES_DELIGIVES CODE> TO FALSE CODE>:

class NeverDeliverInterceptor
  def self.delivering_email(message)
    message.perform_deliveries = false
  end
end

ActionMailer::Base.register_interceptor(NeverDeliverInterceptor)


1 commentaires

Juste une tête, cela fonctionne pour livrer! , seulement pour 'livrer`