我正试图弄清楚如何从我的Rails 4应用程序发送事务性电子邮件。
我已经找到了邮戳宝石的教程,但我正在努力缩小教程中假设的内容(在哪里执行建议的步骤!)和我所知道的内容之间的差距。
我已经在我的gemfile:中安装了ruby和rails宝石
gem 'postmark-rails', '~> 0.13.0'
gem 'postmark'
我已经将邮戳配置添加到我的config/application.rb:
config.action_mailer.delivery_method = :postmark
config.action_mailer.postmark_settings = { :api_token => ENV['POSTMARKKEY'] }
我想尝试在邮戳中制作和使用电子邮件模板。
邮戳gem文档中的说明说我需要:
Create an instance of Postmark::ApiClient to start sending emails.
your_api_token = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
client = Postmark::ApiClient.new(your_api_token)
我不知道该怎么做这一步?我在哪里写第二行?我的配置中存储了我的api令牌。我不知道如何创建postmarkapi客户端的实例。
有人能给我指下一步吗(或者更详细的教程)?
安装gem后,需要创建一个Mailer。我认为您已经以正确的方式配置了API密钥等,所以我将集中精力实际发送一封模板化/静态电子邮件。
让我们创建包含以下内容的app/mailers/ppostmark_mailer.rb文件。
class PostmarkMailer < ActionMailer::Base
default :from => "your@senderapprovedemail.com>"
def invite(current_user)
@user = current_user
mail(
:subject => 'Subject',
:to => @user.email,
:return => '74f3829ad07c5cffb@inbound.postmarkapp.com',
:track_opens => 'true'
)
end
end
然后,我们可以在文件app/views/postmark_mailer/invite.html.erb中对该邮件程序进行模板化。让我们使用以下标记开始。
<p>Simple email</p>
<p>Content goes here</p>
您可以像编写任何其他.html.erb模板一样使用标记、html等。
要真正发送此电子邮件,您需要在控制器中按以下方式放置一个操作。
PostmarkMailer.invite(current_user)
或者,如果你想在访问主页时发送这封电子邮件,它很可能看起来像这样:
带有内容的app/controllers/home_controller.rb
class HomeController < ApplicationController
# GET /
def index
PostmarkMailer.invite(current_user)
end
end
和相应的路线
config/routes.rb与内容
root :to => 'home#index'
我希望这能回答你的问题。