使用MailForm gem的外发邮件配置rails

时间:2013-10-22 20:25:02

标签: ruby-on-rails gem gmail actionmailer

我正在关注this tutorial,以便在我的rails项目中实现mail_form gem。我的应用程序需要一个联系表单,通过电子邮件发送填写完成的用户。教程似乎很好,但我遇到了初步的麻烦。这样:

  

首先要做的事情 - 确保您已根据自己的喜好配置外发邮件。我使用Google托管的邮件进行生产,并使用MockSMTP或Mailcatcher进行开发。

出门,我不知道如何配置我的外发邮件。第一个问题:通过gmail配置开发和生产是否合适?无论如何,我的配置 - 我环顾四周,找到了类似的东西:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address:              'smtp.gmail.com',
port:                 587,
domain:               'example.com',
user_name:            '<username>',
password:             '<password>',
authentication:       'plain',
enable_starttls_auto: true  }

然后我将它放在我的`config / environments / development.rb中。

我从rails控制台创建了一个新的ContactForm并使用MailForm来提供它。这似乎在控制台中是成功的,但实际上并没有通过电子邮件发送目标地址。我确信我只是误解了开发和生产配置之间的差异,但我如何才能看到它是否在控制台之外的开发中工作,并将继续在生产中工作?

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,来自控制器。

尝试这样的事情:

<强> contacts_conroller.rb

    class ContactsController < ApplicationController 

    def new
    @contact = Contact.new
    if 
    Contact.new(params[:contact]).deliver
    redirect_to '/contacts/thanks', :alert => ["Yeah!"]
    end
   else

   end


   def create
@contact = Contact.new(params[:contact])
    if 
   @contact.valid?
@contact.deliver
   end
   else 
  render :new
  end

  end