Rails 4 - Postmark integration



我正试图弄清楚如何从我的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'

我希望这能回答你的问题。

相关内容

  • 没有找到相关文章

最新更新