1

我试图弄清楚如何从我的 Rails 4 应用程序发送交易电子邮件。

我找到了邮戳 gem 的教程,但我正在努力缩小教程中假设的内容(在哪里执行建议的步骤!)与我所知道的内容之间的差距。

我已经在我的 gemfile 中安装了 ruby​​ 和 rails gem:

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 令牌存储在我的配置中。我不知道如何制作邮戳 api 客户端的实例。

谁能指出我接下来的步骤(或更详细的教程)?

4

1 回答 1

3

安装 gems 后,您需要创建一个 Mailer。我假设您已经以正确的方式配置了 API 密钥等,因此我将专注于实际发送模板/静态电子邮件。

让我们使用以下内容创建 app/mailers/postmark_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 等任何其他 .html.erb 模板一样编写它。

要实际发送此电子邮件,您需要按以下方式在控制器中放置一个操作。

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'

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

于 2016-09-09T08:01:16.560 回答