电子邮件发送设计

时间:2011-06-24 17:34:30

标签: ruby-on-rails devise

拜托,能帮助我吗?如何从设备中的localhost发送电子邮件。例如,我在开发环境中写作

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

但它不会在我的地址上发送电子邮件。例如。

2 个答案:

答案 0 :(得分:3)

您需要设置初始化程序,以便在开发环境中发送电子邮件。

将此配置放在:config / initializers / mail.rb

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "gmail.com",
  :user_name            => "username",
  :password             => "password",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

注意:此配置适用于Gmail,如果您不使用Gmail,则需要修改SMTP客户端的设置。

请记住,在将此文件添加到rails应用程序后,您需要重新启动服务器。

还有一个很棒的Railscast剧集可以帮助你here

答案 1 :(得分:0)

#this works well
add_column :users, :confirmation_token, :string
add_column :users, :confirmed_at, :datetime
add_column :users, :confirmation_sent_at, :datetime
add_column :users, :unconfirmed_email, :string

#But this cannot work !!!
add_column :users, :confirmation_token, :string, :null => false, :default => ''
add_column :users, :confirmed_at, :datetime, :null => false, :default => '1970-01-01'
add_column :users, :confirmation_sent_at, :datetime, :null => false, :default => '1970-01-01'
add_column :users, :unconfirmed_email, :string, :null => false, :default => ''

请参阅此问题:https://github.com/plataformatec/devise/issues/2567

  

我今天遇到了一个问题,我花了5个小时。   当confirmation_token关系列为空时,Devise的确认电子邮件无效。当列为null时,它运行良好。