首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在开发环境中用Rails 4发送邮件

在开发环境中用Rails 4发送邮件
EN

Stack Overflow用户
提问于 2015-11-23 10:33:33
回答 2查看 154关注 0票数 1

我是Rails的新手。我试着用ActionMailer发出一封关于新的联系方式信息的电子邮件通知。我学习了不同的教程,试着应用不同的advices,但是没有帮助。我的setup_mail.rb文件是:

代码语言:javascript
复制
config.action_mailer.delivery_method = :sendmail

   ActionMailer::Base.smtp_settings = {
   address:              'smtp.gmail.com',
   port:                 587,
   domain:               'gmail.com',
   user_name:            'my_user_name',
   password:             'my_password',
   authentication:       'plain',
   enable_starttls_auto: true  
}

我尝试将此代码添加到development.rb文件中,我的development.rb也有下面的代码:

代码语言:javascript
复制
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true

我的contact_forms_controllers.rb有下一个代码:

代码语言:javascript
复制
 def create
    @contact_form = ContactForm.new contact_form_params
    @contact_form.save
    redirect_to root_path
    AdminMailer.notification(@contact_form).deliver
 end

我的admin_mailer.rb文件是:

代码语言:javascript
复制
class AdminMailer < ApplicationMailer
    default from: "my_address@gmail.com"

    def notification(contact_form)
        mail(to: "my_address@gmail.com", subject: 'New message on your web-site')
    end
end

Everywhere my_address@gmail.com是我的实际邮件,my_password是我的实际密码。

我可以在没有任何错误的情况下通过帮助联系人表单创建一条消息。有没有人知道,哪里会有问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-23 10:38:18

您就快到了,但是您的development.rb应该是这样的:

代码语言:javascript
复制
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 '587',
  domain:               'gmail.com',
  user_name:            'xxx@gmail.com',
  password:             'xxxxxx',
  authentication:       'login',
  enable_starttls_auto: true  
}
票数 1
EN

Stack Overflow用户

发布于 2015-11-23 13:51:24

您在开发中添加了这个吗? in:-

代码语言:javascript
复制
config.action_mailer.default_url_options = { :host => 'localhost:3000' }

并将sendmail改为smtp:-

代码语言:javascript
复制
config.action_mailer.delivery_method = :smtp
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33868845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档