Envoyer les Instructions de Réinitialisation du Mot de passe à Concevoir

Je suis en train d'envoyer les instructions de réinitialisation du mot de passe à l'aide de concevoir avec des Rails. L'utilisateur clique sur le "lien mot de passe oublié", puis ils entrent dans leur adresse de courriel pour recevoir le réinitialiser le mot de passe des consignes. Je vois l'e-mail envoyé dans le dev du journal, mais je ne suis pas à recevoir mes e-mails de test et je vois l'erreur ci-dessous. Toutes les idées sur ce que je fais mal?

Timeout::Error - execution expired

Dans user_mailer.rb, j'ai le texte suivant:

class UserMailer < ActionMailer::Base
 include Devise::Mailers::Helpers

 default :from => ENV["EMAIL_ADDRESS"]

 def reset_password_instructions(record, opts={})
  mail(:to => record, :subject => "Reset Password Instructions")
 end

end

Je suis en train de tester en développement, de sorte que mon développement.rb est la suivante:

# ActionMailer Config
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
# change to true to allow email to be sent during development
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"

config.action_mailer.smtp_settings = {
:address   => "smtp.mandrillapp.com",
:port      => 25,
:user_name => ENV["MANDRILL_USERNAME"],
:password  => ENV["MANDRILL_API_KEY"],
:enable_starttls_auto => true, # detects and uses STARTTLS
:authentication => 'login', # Mandrill supports 'plain' or 'login'
:domain => 'mydomain.com', # your domain to identify your server when connecting
}

Et de l'utilisateur.rb, j'ai le texte suivant:

def send_reset_password_instructions
 UserMailer.reset_password_instructions(self.email).deliver
end

Comme je l'ai mentionné ci-dessus, je vois d'e-mails générés dans les journaux de droite avant l'expiration du délai - dessous est le full stack trace:

Started GET "/users/password/new" for 127.0.0.1 at 2013-10-10 17:32:24 -0500
Processing by Devise::PasswordsController#new as HTML
Rendered devise/passwords/new.html.erb within layouts/application (3.7ms)
Rendered layouts/_navigation.html.erb (1.6ms)
Rendered layouts/_messages.html.erb (0.1ms)
Completed 200 OK in 101ms (Views: 100.6ms | ActiveRecord: 0.0ms)
Started POST "/users/password" for 127.0.0.1 at 2013-10-10 17:32:28 -0500
Processing by Devise::PasswordsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"CebAAlhJgxz1yDEi5BvsJ/dOdUpAHl08yrG1NCVgi/o=", "user"=>{"email"=>"[email protected]"}, "commit"=>"Continue"}
User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
Rendered user_mailer/reset_password_instructions.html.erb (0.1ms)
Sent mail to me@gmail.com (30018ms)
Date: Thu, 10 Oct 2013 17:32:28 -0500
From: info@mydomain.com
To: me@gmail.com
Message-ID: <52572afc78c10_e9e43ffb7d69b4ec31274@Patricks-MacBook-Air.local.mail>
Subject: Reset Password Instructions
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<p>Hello!</p>
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>
Completed 500 Internal Server Error in 30044ms
Avez-vous bien envoyé e-mail à l'aide de votre Mandrill compte, sinon? Je vous recommande d'essayer MailCatcher pour envoyer un mail en développement. Si cela fonctionne, vous pouvez commencer à affiner où est le problème dans votre configuration.
Merci - j'ai essayé MailCatcher et il affiche le message qu'il a envoyé correctement (bien que je ne suis pas le recevoir par e-mail). Toutes les idées sur la résolution de la mandrill configuration? J'ai eu mailchimp fonctionne bien pendant un certain temps maintenant, pour un message de bienvenue et d'ajouter des utilisateurs à général des campagnes de courriels, mais n'avez pas compris l'e-mail transactionnel encore. Merci
MailCatcher intercepte le courrier sortant et le met à la disposition d'une interface web, donc vous n'êtes pas censé le recevoir. Au lieu de cela, vous devriez être en mesure de le voir à l'adresse 127.0.0.1:1080 dans votre navigateur. Comme pour Mandrill, je crois que vous aurez toujours besoin de configuration de postfix ou une autre interface smtp sur votre machine hôte, si vous ne l'avez pas déjà fait. C'est un problème assez commun, de sorte que vous devriez être en mesure de google, l'énonciation ou votre système d'exploitation de l'installation.

OriginalL'auteur pvskisteak5 | 2013-10-10