module

MailCatcher::Mail

Storage module for email messages using in-memory data structures

Instance methods

add_message(sender : String | Nil, recipients : Array(String), source : String) : Int64

Add a new message from SMTP

Source
add_message_part(message_id : Int64, cid : String | Nil, mime_type : String, is_attachment : Bool, filename : String | Nil, charset : String | Nil, body : Bytes, size : Int32)
Source
delete!

Delete all messages

Source
delete_message!(message_id : Int64)

Delete a specific message

Source
delete_older_messages!(limit : Int32 | Nil = nil)

Delete older messages to enforce limit

Source
latest_created_at

Get latest created_at timestamp

Source
message(id : Int64) : Hash(String, JSON::Any) | Nil

Get a single message

Source
message_attachments(id : Int64) : Array(Hash(String, JSON::Any))

Get message attachments

Source
message_has_html?(id : Int64) : Bool

Check if message has HTML part

Source
message_has_plain?(id : Int64) : Bool

Check if message has plain text part

Source
message_part(message_id : Int64, part_id : Int64) : MessagePart | Nil

Get a specific part by ID

Source
message_part_cid(message_id : Int64, cid : String) : MessagePart | Nil

Get part by CID

Source
message_part_html(message_id : Int64) : MessagePart | Nil

Get HTML part

Source
message_part_plain(message_id : Int64) : MessagePart | Nil

Get plain text part

Source
message_part_type(message_id : Int64, part_type : String) : MessagePart | Nil

Get part by MIME type

Source
message_parts(id : Int64) : Array(Hash(String, JSON::Any))

Get message parts

Source
message_source(id : Int64) : String | Nil

Get message source

Source
messages

Get all messages

Source
reset!

Reset storage (useful for testing)

Source
setup(config : Config)
Source

Nested types