2013-06-26 4 views
2

Я столкнулся с проблемой с изобретением забыл пароль. Я не получаю никаких писем, хотя devise отображает messsage, что «вы получите электронное письмо с инструкциями о том, как сбросить пароль за несколько минут».devise забыл пароль email не получен

рубин 1.9.3 Rails 3.2 Разрабатывают 2.2.4

Моя среда/development.rb

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.perform_deliveries = true 
config.action_mailer.raise_delivery_errors = true 
config.action_mailer.default :charset => "utf-8" 


ActionMailer::Base.smtp_settings = { 
:address => "smtp.gmail.com", 
:port => 587, 
:authentication => :plain, 
:domain => '[email protected]', 
:user_name => '[email protected]', 
:password => 'abcde', 
} 

Мой environment.rb ActionMailer :: Base.delivery_method =:

SMTP

My intializers/devise.rb

config.mailer_sender = "[email protected]" 

И development.log показывает

Sent mail to [email protected] (3205ms) 
Date: Wed, 26 Jun 2013 23:33:01 +1000 
From: [email protected] 
Reply-To: [email protected] 
To: [email protected] 
Message-ID: <[email protected]> 
Subject: Reset password instructions 
Mime-Version: 1.0 
Content-Type: text/html; 
charset=UTF-8 
Content-Transfer-Encoding: 7bit 

<p>Hello [email protected]!</p> 

<p>Someone has requested a link to change your password. You can do this the link below.</p> 

<p><a href="http://localhost:3000/users/password  /edit?reset_password_token=zb1mZUEzxpymqE8qorDJ">Change my password</a></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> 

Redirected to http://localhost:3000/users/sign_in 
Completed 302 Found in 3423ms (ActiveRecord: 0.0ms) 
+0

Эта проблема тесно связана с http://stackoverflow.com/questions/16422316/rails-app-on-heroku-sending-email-error – rails4sandeep

+0

http://stackoverflow.com/questions/16422316/rails-app -on-heroku-send-email-error Эта проблема тесно связана с этим и исправлена ​​сейчас – rails4sandeep

ответ

2

Как уже упоминалось выше, в почт режиме развития, не будучи отправки на самом деле, если вы «Любопытно, как это получается (и, возможно, нужно переопределить это поведение), посмотрите в следующий файл: config/environment/development.rb:

#don't send emails in development 
    config.action_mailer.perform_deliveries = false 

Конечно, было бы лучше использовать какой-либо почтовый ящик, но если вы хотите просто увидеть почту в своем почтовом ящике, просто измените значение false на true, и вот оно, если у вас есть правильно настроенная почтовая программа, конечно.

Edit:

Вот мой конфиг для Gmail, и он работает, нет домена пар так, вероятно, это делает неприятность:

config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
     :address    => "smtp.gmail.com", 
     :port     => 587, 
     :user_name   => '<login>', 
     :password    => '<password>', 
     :authentication  => 'plain', 
     :enable_starttls_auto => true } 

Edit2: И не забудьте перезагрузить сервер;)

+0

Спасибо за ваш ответ. Я установил флаг raise_delivery_errors в true, и я вижу эту ошибку: Net :: SMTPAuthenticationError в Devise :: PasswordsController # create 535-5.7.8 Имя пользователя и пароль не принято – rails4sandeep

+0

Я тестировал эти настройки и работает без домена (или с 'gmail.com', но не с' example.com', по крайней мере, если у вас нет сервера в этом домене;)), поэтому удалите эту строку, и это должно быть хорошо. – zrl3dx

+0

Спасибо за кучу zrl3dx за ваш ответ. Я проверил свои настройки против того, что вы мне дали, и удалил домен оттуда.попробовал снова и снова. Я, наконец, наткнулся на проблему, посетив этот URL-адрес и изменив имя пользователя и пароль в setup_mail.rb – rails4sandeep

0

В разработке с вашей конфигурацией электронные письма не отправляются, а отображаются только в журналах. Вы можете попробовать использовать услугу, например:

+0

Спасибо за ваш ответ. Я установил флаг raise_delivery_errors в true, и я вижу эту ошибку: Net :: SMTPAuthenticationError в Devise :: PasswordsController # create 535-5.7 .8 Имя пользователя и пароль не принимаются – rails4sandeep