Actionmailer pas la livraison du courrier, avec rails 3
Je suis en train de faire une application qui envoie un e-mail lorsque l'utilisateur enregistre.
j'ai mis dans les paramètres smtp de gmail dans le fichier config/application.rb fichier et la fonction mail ressemble
mail(:to => "[email protected]", :subject => "Mail!", :from => "[email protected]", :content_type => "text/html")
maintenant, quand je vois les journaux, je vois qu'il a dit le courriel a été envoyé, mais je ne reçois jamais aucun courrier à tous les...
aussi, quand j'ai appeler la messagerie livrer fonction, Emails.signed(@user).deliver
, le formulaire de la page n'est pas redirigée, mais cela fonctionne si j'commentaire de l'e-mail de l'envoi de code qui est
Emails.signed(@user).deliver
ou
mail(:to => "[email protected]", :subject => "Mail!", :from => "[email protected]", :content_type => "text/html")
Merci 🙂
Edit: le développement.rb
App::Application.configure do
# Settings specified here will take precedence over those in config/environment.rb
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the webserver when you make code changes.
config.cache_classes = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_view.debug_rjs = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
# Print deprecation notices to the Rails logger
config.active_support.deprecation = :log
end
Êtes-vous essayer de l'envoyer sur le développement ou la production? veuillez coller le
je suis dans le mode de développement... j'ai ajouté le développement.rb
Hey s'il vous plaît vérifier le post suivant, et laissez-nous savoir si vous continuez à avoir des problèmes. asciicasts.com/episodes/206-action-mailer-in-rails-3 Cela devrait fonctionner si vous avez bien configuré vos paramètres smtp de gmail.
Salut, c'est le même tutoriel, j'ai appelé... c'est ce qui est me laissant perplexe... peut-être le mode de développement est de ne pas permettre mails à envoyer, même si j'ai mis ensemble mail_delivery à vrai?
Comment êtes-vous sûr que courrier ne pas livrer ? Par défaut, tous les messages de l'aar envoyé par sendmail. Il est donc peut-être sur votre sendmail système de file d'attente. À votre sortie, il n'y a pas de configuration de mail pour le faire.
development.rb
ou production.rb
fichier.je suis dans le mode de développement... j'ai ajouté le développement.rb
Hey s'il vous plaît vérifier le post suivant, et laissez-nous savoir si vous continuez à avoir des problèmes. asciicasts.com/episodes/206-action-mailer-in-rails-3 Cela devrait fonctionner si vous avez bien configuré vos paramètres smtp de gmail.
Salut, c'est le même tutoriel, j'ai appelé... c'est ce qui est me laissant perplexe... peut-être le mode de développement est de ne pas permettre mails à envoyer, même si j'ai mis ensemble mail_delivery à vrai?
Comment êtes-vous sûr que courrier ne pas livrer ? Par défaut, tous les messages de l'aar envoyé par sendmail. Il est donc peut-être sur votre sendmail système de file d'attente. À votre sortie, il n'y a pas de configuration de mail pour le faire.
OriginalL'auteur Amit | 2010-08-02
Vous devez vous connecter pour publier un commentaire.
Un peu en retard, mais néanmoins, peut-être cela va aider quelqu'un à quelques heures de se cogner la tête. C'est probablement seulement pour l'envoi d'e-mails à partir de gmail.
Tout d'abord, afin de les aider à déboguer la situation, la ligne suivante dans le développement.rb vrai (en supposant que vous êtes dans le mode de développement):
Cela fera ActionMailer de ne pas ignorer en silence les erreurs.
Quand je l'ai fait, j'ai réalisé gmail refuse mon nom d'utilisateur et mot de passe.
Ensuite, je suis allé à mon fichier de configuration où j'ai mis toute l'Action Mailer config directives (pour moi c'était en développement.rb, il y a probablement un meilleur endroit pour le placer), et a remarqué que :nom_d'utilisateur est "admin" plutôt que de "[email protected]". Changer de il a résolu le problème. Voici ma partie corrigée de développement.rb:
Références:
http://forums.pragprog.com/forums/43/topics/541
http://edgeguides.rubyonrails.org/action_mailer_basics.html
OriginalL'auteur AmitA
Une autre chose à ne pas oublier: vous devez redémarrer l'application après avoir fait des changements dans votre environnement des fichiers de configuration. lors de l'utilisation de passagers, cela peut vite être oubliée 🙂
c'est ce qui a résolu mon "problème" quand ActionMailer n'a pas voulu envoyer des e-mails sans montrer les erreurs..
OriginalL'auteur Peter
Les choses qui sont écrites ici, ne m'aide pas.
Je suis à l'aide de Rails 3.2.8 et j'ai passé plusieurs heures à essayer de comprendre cela et c'était très simple en fin de compte. J'ai oublié de vous appeler
.deliver()
sur leMail::Message
objet qui est retourné parmail(:to => @user.email, :subject => 'Welcome to the Site')
appel de méthode.Il suffit de laisser tout comme il est spécifié dans officiel RoR tutoriel.
Qui est, dans le développement de votre/environnement de production des fichiers, faire un article comme:
Et puis vous sous-classe ActionMailer::Base, par exemple comme ceci:
Après, vous pouvez simplement utiliser ce
InfoMailer
méthode à partir de votre code comme une méthode de classe:OriginalL'auteur ancajic
Si vous utilisez l'environnement de test, assurez-vous de commenter cette ligne de code dans les environnements de test/.rb:
OriginalL'auteur Natasha Jaques