如何在发送电子邮件时添加标签?

时间:2016-07-19 16:59:53

标签: ruby-on-rails ruby mailgun

我正在使用mailgun-ruby gem,我似乎无法弄清楚如何在外发电子邮件中添加标签。

def send(params, tag = nil)
  mg = Mailgun::Client.new("...")
  mg.add_tag(tag) unless tag.nil?
  mg.send_message my_domain, params
end

add_tag方法未定义。我正在查看源代码,我看到有add_tag,但它在某个message_builder类上。它是如何暴露给我正在使用的Client类的?

https://github.com/mailgun/mailgun-ruby/blob/master/lib/mailgun/messages/message_builder.rb#L160

1 个答案:

答案 0 :(得分:2)

使用MessageBuilder的实例按照mailgun-ruby docs

中的说明准备邮件
def send(params, tag = nil)
  mg_client = Mailgun::Client.new("your-api-key")
  mb_obj = Mailgun::MessageBuilder.new()

  # ...set some settings on mb_obj, probably from params as well...

  mb_obj.add_tag(tag) unless tag.nil?

  mg_client.send_message(my_domain, mb_obj)
end

此外,最好将Mailgun::Client初始化和邮件发送代码分开。