在Rails中联系Form Mailer 4
我正在尝试在Rails 4中构建一个联系表单,其中表单采用名称,电子邮件和正文,并将其发送到我的电子邮件地址。 点击“提交”后,该应用会正确地重定向回联系人页面,但似乎没有电子邮件发送。
的routes.rb
match '/send_mail', to: 'contact#send_mail', via: 'post'
contact_email.html.erb
true %> true %> You have received the following email from
contact_controller.rb
def send_mail name = params[:name] email = params[:email] body = params[:comments] ContactMailer.contact_email(name, email, body).deliver redirect_to contact_path, notice: 'Message sent' end
contact_mailer.rb
class ContactMailer < ActionMailer::Base default to: # my email address def contact_email(name, email, body) @name = name @email = email @body = body`enter code here` mail(from: email, subject: 'Contact Request') end end
contact.html.erb
application.rb中
config.action_mailer.delivery_method = :sendmail config.action_mailer.perform_deliveries = true config.action_mailer.raise_delivery_errors = true
事实certificate,我没有使用外部SMTP服务配置我的Heroku应用程序(因为我之前从未做过任何关于电子邮件的事情,我不知道这样做)。 由于我对MailChimp比较熟悉,特别是因为他们的Mandrill服务有免费等级(我正在为学生组织构建这个应用程序),我很容易将Mandrill添加到我的Heroku应用程序中,并在application.rb中包含以下设置:
ActionMailer::Base.smtp_settings = { address: 'smtp.mandrillapp.com', port: 587, user_name: ENV['MANDRILL_USERNAME'], password: ENV['MANDRILL_APIKEY'] }
ENV变量由附加组件自动设置的位置。