如何在 Rails 中将 HTML 表单数据作为电子邮件发送?(不使用宝石)



我第一次使用rails来开发Web应用程序。

在我的index.html.erb上,我有一个看起来像这样的html联系表单。

<form  method="post" name="frmContentDownload"><!-- /. form handling starts here-->
<div><label for="FirstName1">First Name</label><input class="form-control" name="FirstName1" type="text" value="" /></div>
<div><label for="LastName1">Last Name</label><input class="form-control" name="LastName1" type="text" value="" /></div>
<div><label for="emailAddress">Email</label><input class="form-control" name="emailAddress" type="text" value="" /></div>
<div><label for="PhoneNumber">Phone</label><input class="form-control" name="PhoneNumber" type="text" value="" /></div>
<div><label for="Title1">Title</label><input class="form-control" name="Title1" type="text" value="" /></div>
<div><label for="StateProvince1">State or Province</label><select class="form-control" name="StateProvince1">
<option class="placeholder" value="" disabled selected>COUNTRY &#8609;</option>
<option value="CA">Canada</option>
<option value="UK">United Kingdom</option>
<option value="US">United States</option>
</select></div>
<div><label for="comments">Comments</label><input class="form-control" name="comments" type="text" value="" /></div>
<div><input class="btn btn-primary btn-lg btn-block" type="submit" value="Contact Us" /></div>
</form>    

我正在尝试了解如何将其连接起来,以便将联系信息发送到我的电子邮件。我知道有红宝石可以做到这一点,但我对形式的美学感到满意,不想使用宝石进行表单处理。

英雄版本来了

任何转向将不胜感激。

首先,您需要安装smtp服务器来发送电子邮件,Heroku 有一个用于Sendgrid电子邮件安装和配置的附加组件。

然后运行以下命令以创建电子邮件类和模板

rails generate mailer ContactMailer

它将生成如下

create  app/mailers/contact_mailer.rb
create  app/mailers/application_mailer.rb
invoke  erb
create    app/views/contact_mailer
create    app/views/layouts/mailer.text.erb
create    app/views/layouts/mailer.html.erb
invoke  test_unit
create    test/mailers/contact_mailer_test.rb
create    test/mailers/previews/contact_mailer_preview.rb

您可以按照基本的Rails Mailer进行操作,这里也是一个full tutorial,用于发送带有联系表单和邮件文件夹的电子邮件,该邮件文件夹结构了邮件类和模板如何协同工作。

最新更新