-
Notifications
You must be signed in to change notification settings - Fork 47
Email Sending
You can also send file attachments with Postmark. Read our Developer docs for additional information.
The Postmark gem is compatible with ActionMailer attachments API. It allows you to specify the name, content-type and other attributes for your attachments.
The legacy :postmark_attachments
attribute is no longer supported on Rails 3.2.13 and above.
class TestMailer < ActionMailer::Base
def message_with_attachment
attachments.inline['logo.png'] = File.read("/path/to/image") # Inline image
attachments['42.jpg'] = File.read("/path/to/file") # Attached file
mail(
:subject => 'hello',
:to => '[email protected]',
:from => '[email protected]'
)
end
end
Postmark supports attaching metadata to messages. All metadata field values will be interpreted and returned in webhook payloads as strings.
class TestMailer < ActionMailer::Base
def message_with_metadata
metadata['foo'] = 'bar'
mail(
:subject => 'meta hello',
:to => '[email protected]',
:from => '[email protected]'
)
end
end
While Postmark is focused on transactional email, we understand that developers with higher volumes or processing time constraints need to send their messages in batches. To facilitate this we provide a batching endpoint that permits you to send up to 500 well-formed Postmark messages in a single API call.
client = Postmark::ApiClient.new('your-api-token')
messages = []
messages << DigestMailer.weekly_digest(@user1)
messages << DigestMailer.weekly_digest(@user2)
client.deliver_messages(messages)
messages.first.delivered?
# => true
messages.all?(&:delivered)
# => true
For additional information about the capabilities of the Postmark API, see Postmark Developers Documentation.