0

我正在按照本教程在我的 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 来传递它。这在控制台中似乎是成功的,但实际上并没有通过电子邮件发送目标地址。我确定我只是误解了开发和生产配置之间的区别,但是我如何才能看到这是否在控制台之外的开发中工作,并且将继续在生产中工作?

4

1 回答 1

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
于 2013-10-25T17:58:19.557 回答