2016-07-19 6 views
0

Ich benutze das mailgun-ruby-Juwel und ich kann nicht herausfinden, wie man der ausgehenden E-Mail ein Tag hinzufügt.Wie füge ich ein Tag hinzu, wenn ich eine E-Mail sende?

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

Die Methode add_tag ​​ist nicht definiert. Ich schaue auf die Quelle und ich sehe, dass es add_tag ​​gibt, aber es ist in einer Klasse message_builder. Wie ist es der Client-Klasse ausgesetzt, die ich verwende?

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

Antwort

1

eine Instanz von MessageBuilder Verwenden Sie Ihre Nachricht herzustellen, wie in mailgun-ruby docs beschrieben.

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 

Außerdem ist es wahrscheinlich am besten Mailgun::Client Initialisierung und Nachrichtencode zu senden zu trennen.