我正在关注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来提供它。这似乎在控制台中是成功的,但实际上并没有通过电子邮件发送目标地址。我确信我只是误解了开发和生产配置之间的差异,但我如何才能看到它是否在控制台之外的开发中工作,并将继续在生产中工作?
答案 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