2011-05-25 4 views
7

Я настроил Devise и смог создать профиль. Когда я создаю профили и пытаюсь войти в систему, у меня появляется сообщение об ошибке, что я не подтвердил свою учетную запись,Rails devise не отправляет подтверждение по электронной почте, но требует

У меня не было письма, которое я должен подтвердить своей учетной записью. Не ошибался ли я при выборе такого параметра или не позволял Devise отправлять мне по электронной почте?

Вот миграция я сделать это:

class DeviseCreateUsers < ActiveRecord::Migration 
    def self.up 
    create_table(:users, :options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8') do |t| 
     t.database_authenticatable :null => false 
     t.recoverable 
     t.rememberable 
     t.trackable 
     t.confirmable 
     t.encryptable 
     t.column "first_name", :string 
     t.column "last_name", :string 
     t.column "organization_name", :string 

     t.timestamps 
    end 

    add_index :users, :email,    :unique => true 
    end 

    def self.down 
    drop_table :users 
    end 
end 
+0

С какой настройкой вы занимались своими письмами? – ubique

ответ

15

В развития режиме, вы должны добавить эту строку в config/environments/development.rb

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Затем проверьте логи сервера чтобы увидеть почту. Вы должны найти что-то подобное:

Оказываемые Разрабатывают/Mailer/confirmation_instructions.html.erb (19.5ms)

Отправленные почту [email protected] (21951ms)

Дата: Чт, 26 мая 2011 12:56:55 +0200

От: [email protected]

Reply-To: [email protected]

To: [email protected]

Message-ID: < [email protected]>

Тема: Инструкции подтверждения

Mime-Version: 1,0

Content-Type: текст/html;

кодировка = UTF-8

Content-Transfer-Encoding: 7bit 
<p>Welcome [email protected]!</p> 
<p>You can confirm your account through the link below:</p> 
<p><a href="http://localhost:3000/users/confirmation?confirmation_token=Hi0tyRQU8cCFpAbatYFf">Confirm my account</a></p> 

Вы также должны поставить эту строку в config/initializers/devise.rb

config.mailer_sender = "[email protected]" 

Если вы действительно не имеют такой почты в ваших журналах, вы можете подтвердить свою учетную запись, взяв значение confirmation_token в своей БД и перейти по этой ссылке

http://localhost:3000/users/confirmation?confirmation_token= #PUT_YOUR_TOKEN_HERE 

И это должно сделать трюк.

Cheers

+0

Спасибо! для меня отсутствовали параметры FROM. – SSR

Смежные вопросы