Rails 4,如何正确配置smtp设置(gmail) [英] Rails 4, how to correctly configure smtp settings (gmail)

查看:129
本文介绍了Rails 4,如何正确配置smtp设置(gmail)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Rails 4中创建一个联系表单。我在这里做了一些挖掘工作,可以让大部分的东西都能工作。 (之后@ sethfri在这里的工作 Rails中的联系表Mailer



现在我可以填写我的表单框并点击发送。在我的rails服务器上,它表示邮件已经出站到我的电子邮件地址,但是我的Gmail邮箱没有收到任何信息,所以我认为我的smtp设置是不对的。我的smtp设置是:



... config / environments / development.rb

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

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

config.action_mailer.delivery_method =:smtp
config.action_mailer.smtp_settings = {
:address => smtp.gmail.com,
:port => 587,
:domain => mydomain.net,
:user_name => mygmailusername@gmail.com,
:password => myGmailPassword,
:authentication => plain,
:enable_starttls_auto => true
}

另外我还添加了
... / config / initializers / smtp_settings.rb

  ActionMailer :: Base.smtp_settings = {
:address = > smtp.gmail.com,
:port => 587,
:domain => mydomain.net,
:user_name => gmailuser@gmail.com,
:password => gmailPassword,
:authentication => plain,
:enable_starttls_auto => true
}

我缺少/做错了什么?我已经玩了几个东西(将default_url更改为端口1025,更改为:port =>587到:port => 587),没有成功。



感谢您的帮助!

解决方案

您必须正确设置域名。目前在代码中发布了其mydomain.net。如果要通过gmail发送,请将其更改为 gmail.com

  config.action_mailer。 smtp_settings = {
address:'smtp.gmail.com',
port:587,
domain:'gmail.com',
user_name:'xyz@gmail.com' ,
密码:'yourpassword',
身份验证::plain,
enable_starttls_auto:true
}


I am trying to create a contact form in Rails 4. I did some digging around here and was able to get most of the stuff to work. (followed @sethfri's work here Contact Form Mailer in Rails 4)

Right now I am able to fill out my form box and hit send. In my rails server it says the mail was outbound to my email address, but I don't receive anything in my gmail box, so I think my smtp settings aren't right. My smtp settings are:

...config/environments/development.rb

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

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

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "mydomain.net",
    :user_name => "mygmailusername@gmail.com",
    :password => "myGmailPassword",
    :authentication => "plain",
    :enable_starttls_auto => true
  } 

Also I added in .../config/initializers/smtp_settings.rb

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

What am I missing/doing wrong? I've played around with a couple things (changed default_url to port 1025, changed :port => "587" to :port => 587) with no success.

Thanks for the help!

解决方案

You have to set the domain correctly. Currently in the code posted its "mydomain.net". Change it to gmail.com if you want to sent it via gmail.

config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 587,
  domain:               'gmail.com',
  user_name:            'xyz@gmail.com',
  password:             'yourpassword',
  authentication:       :plain,
  enable_starttls_auto: true
}

这篇关于Rails 4,如何正确配置smtp设置(gmail)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆