I'm trying to create a custom email header to use the SendGrid api.
Here's what I'm doing - but its not working:
class Mailman < ActionMailer::Base
default :from => "[email protected]"
def send_message(name, email, message)
@name = name
@email = email
@message = message
mail(:to => '[email protected]',
:from => email,
:subject => "Message from the site",
:headers['X-SMTPAPI'] => "category: Drip Email"
)
end
end
Any help appreciated.
Thanks, Adam
You can use the #headers method of ActionMailer, I've edited your example to show how:
class Mailman < ActionMailer::Base
default :from => "[email protected]"
def send_message(name, email, message)
@name = name
@email = email
@message = message
headers['X-SMTPAPI'] = '{"category": "Drip Email"}'
mail(
:to => '[email protected]',
:from => email,
:subject => "Message from the site"
)
end
end
Alternatively, you can pass a hash as an argument (to the method #headers) too:
headers {"SPECIFIC-HEADER-1" => "value", "ANOTHER-HEADER" => "and so..."}
I hope this can help you, and if not you always can check the rails guides: http://edgeguides.rubyonrails.org/action_mailer_basics.html.
I am using below code and works fine, just convert the hash to json with to_json
headers['X-SMTPAPI'] = {
category: "Weekly Newsletter",
unique_args: { user_id: user.id }
}.to_json
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With