Rails使用gmail开发模式发送邮件

时间:2015-09-02 09:09:08

标签: ruby-on-rails sendmail

我没有弄清楚如何在开发环境中从gmail发送邮件。它没有发送电子邮件。我对导轨指南一无所知,也不知道生产环境是否相同?

  

配置/ development.rb

config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'something.com' } 
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address:              'smtp.gmail.com',
port:                 587,
domain:               'mail.google.com',
user_name:            'myusername@gmail.com',
password:             'mypassword',
authentication:       'plain',
enable_starttls_auto: true  }
  

·邮寄包装/ user_mailer.rb

 default :from => 'something.com'

 def welcome_email(user)
   @user = user
   @url  = 'http://something.com'
   mail(to: @user.email, subject: 'Welcome')
 end

修改

  

我打电话给用户创建方法

UserMailer.welcome_email(@user).deliver_now

2 个答案:

答案 0 :(得分:2)

config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true

development.rb中尝试此操作。它将在控制台中发送邮件或发送传递错误。

答案 1 :(得分:0)

您可以通过两种方式拨打电子邮件方式发送电子邮件,

  1. UsersController的{​​{1}}行动

    create
  2. def create #your codes and logics to save user... UserMailer.welcome_email(@user).deliver_now #your codes goes here ... end 模型User回调

    after_create
  3. 我更喜欢第二个用于发送电子邮件,而不是在控制器中使用模型回调。