-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathsandbox_messages_api.rb
More file actions
47 lines (37 loc) · 1.77 KB
/
sandbox_messages_api.rb
File metadata and controls
47 lines (37 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
require 'mailtrap'
account_id = 3229
inbox_id = 12
client = Mailtrap::Client.new(api_key: 'your-api-key')
sandbox_messages = Mailtrap::SandboxMessagesAPI.new(account_id, inbox_id, client)
# List all sandbox messages in the inbox (optional: search, page, last_id)
sandbox_messages.list
# => [#<struct Mailtrap::SandboxMessage id=1, subject="Welcome", ...>]
# List with search (matches subject, to_email, to_name)
sandbox_messages.list(search: 'welcome')
sandbox_messages.list(page: 2)
sandbox_messages.list(last_id: 100)
# Iterate all messages with list_each (no manual pagination handling)
sandbox_messages.list_each(search: 'welcome') { |m| puts "#{m.id} #{m.subject}" }
# Get a specific message
message_id = 123
sandbox_messages.get(message_id)
# => #<struct Mailtrap::SandboxMessage id=123, subject="...", is_read=false, ...>
# Mark message as read
sandbox_messages.mark_as_read(message_id)
# => #<struct Mailtrap::SandboxMessage id=123, is_read=true, ...>
# Get message bodies and metadata
sandbox_messages.text_body(message_id) # => plain text body
sandbox_messages.html_body(message_id) # => HTML body
sandbox_messages.html_source(message_id) # => HTML source
sandbox_messages.raw_body(message_id) # => raw email body
sandbox_messages.eml_body(message_id) # => EML format
sandbox_messages.mail_headers(message_id) # => mail headers hash
# Get message analysis
sandbox_messages.spam_score(message_id) # => spam report hash
sandbox_messages.html_analysis(message_id) # => HTML analysis hash
# Forward message to an email address
sandbox_messages.forward_message(message_id, email: 'recipient@example.com')
# => forwarded message confirmation
# Delete a sandbox message
sandbox_messages.delete(message_id)
# => #<struct Mailtrap::SandboxMessage id=123, ...> (deleted)