EmailControllerApi

All URIs are relative to https://api.mailslurp.com

MethodHTTP requestDescription
deleteAllEmailsDELETE /emailsDelete all emails in all inboxes.
deleteEmailDELETE /emails/{emailId}Delete an email
downloadAttachmentGET /emails/{emailId}/attachments/{attachmentId}Get email attachment bytes. Returned as octet-stream with content type header. If you have trouble with byte responses try the downloadAttachmentBase64 response endpoints and convert the base 64 encoded content to a file or string.
downloadAttachmentBase64GET /emails/{emailId}/attachments/{attachmentId}/base64Get email attachment as base64 encoded string as an alternative to binary responses. Decode the base64FileContents as a utf-8 encoded string or array of bytes depending on the contentType.
downloadBodyGET /emails/{emailId}/bodyGet email body as string. Returned as plain/text with content type header.
downloadBodyBytesGET /emails/{emailId}/body-bytesGet email body in bytes. Returned as octet-stream with content type header.
forwardEmailPOST /emails/{emailId}/forwardForward email to recipients
getAttachmentMetaDataGET /emails/{emailId}/attachments/{attachmentId}/metadataGet email attachment metadata. This is the contentType and contentLength of an attachment. To get the individual attachments use the downloadAttachment methods.
getAttachments1GET /emails/{emailId}/attachmentsGet all email attachment metadata. Metadata includes name and size of attachments.
getEmailGET /emails/{emailId}Get email content including headers and body. Expects email to exist by ID. For emails that may not have arrived yet use the WaitForController.
getEmailContentMatchPOST /emails/{emailId}/contentMatchGet email content regex pattern match results. Runs regex against email body and returns match groups.
getEmailHTMLGET /emails/{emailId}/htmlGet email content as HTML. For displaying emails in browser context.
getEmailHTMLQueryGET /emails/{emailId}/htmlQueryParse and return text from an email, stripping HTML and decoding encoded characters
getEmailLinksGET /emails/{emailId}/linksParse and return list of links found in an email (only works for HTML content)
getEmailTextLinesGET /emails/{emailId}/textLinesParse and return text from an email, stripping HTML and decoding encoded characters
getEmailsPaginatedGET /emailsGet all emails in all inboxes in paginated form. Email API list all.
getGravatarUrlForEmailAddressGET /emails/gravatarForGet gravatar url for email address
getLatestEmailGET /emails/latestGet latest email in all inboxes. Most recently received.
getLatestEmailInInboxGET /emails/latestInGet latest email in an inbox. Use WaitForController to get emails that may not have arrived yet.
getOrganizationEmailsPaginatedGET /emails/organizationGet all organization emails. List team or shared test email accounts
getRawEmailContentsGET /emails/{emailId}/rawGet raw email string. Returns unparsed raw SMTP message with headers and body.
getRawEmailJsonGET /emails/{emailId}/raw/jsonGet raw email in JSON. Unparsed SMTP message in JSON wrapper format.
getUnreadEmailCountGET /emails/unreadCountGet unread email count
markAsReadPATCH /emails/{emailId}/readMark an email as read on unread
replyToEmailPUT /emails/{emailId}Reply to an email
sendEmailSourceOptionalPOST /emailsSend email
validateEmailPOST /emails/{emailId}/validateValidate email HTML contents

deleteAllEmails

deleteAllEmails()

Delete all emails in all inboxes.

Deletes all emails in your account. Be careful as emails cannot be recovered

Parameters

This endpoint does not need any parameter.

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

deleteEmail

deleteEmail(emailId)

Delete an email

Deletes an email and removes it from the inbox. Deleted emails cannot be recovered.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email to delete[default to null]

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

downloadAttachment

byte[] downloadAttachment(attachmentId, emailId, apiKey)

Get email attachment bytes. Returned as octet-stream with content type header. If you have trouble with byte responses try the downloadAttachmentBase64 response endpoints and convert the base 64 encoded content to a file or string.

Returns the specified attachment for a given email as a stream / array of bytes. You can find attachment ids in email responses endpoint responses. The response type is application/octet-stream.

Parameters

NameTypeDescriptionNotes
attachmentIdStringID of attachment[default to null]
emailIdUUIDID of email[default to null]
apiKeyStringCan pass apiKey in url for this request if you wish to download the file in a browser. Content type will be set to original content type of the attachment file. This is so that browsers can download the file correctly.[optional] [default to null]

Return type

**byte[]**

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/octet-stream

downloadAttachmentBase64

DownloadAttachmentDto downloadAttachmentBase64(attachmentId, emailId)

Get email attachment as base64 encoded string as an alternative to binary responses. Decode the base64FileContents as a utf-8 encoded string or array of bytes depending on the contentType.

Returns the specified attachment for a given email as a base 64 encoded string. The response type is application/json. This method is similar to the `downloadAttachment` method but allows some clients to get around issues with binary responses.

Parameters

NameTypeDescriptionNotes
attachmentIdStringID of attachment[default to null]
emailIdUUIDID of email[default to null]

Return type

DownloadAttachmentDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

downloadBody

String downloadBody(emailId)

Get email body as string. Returned as plain/text with content type header.

Returns the specified email body for a given email as a string

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

String

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: text/html, text/plain

downloadBodyBytes

byte[] downloadBodyBytes(emailId)

Get email body in bytes. Returned as octet-stream with content type header.

Returns the specified email body for a given email as a stream / array of bytes.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

**byte[]**

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/octet-stream

forwardEmail

SentEmailDto forwardEmail(emailId, forwardEmailOptions)

Forward email to recipients

Forward an existing email to new recipients. The sender of the email will be the inbox that received the email you are forwarding. You can override the sender with the `from` option. Note you must have access to the from address in MailSlurp to use the override. For more control consider fetching the email and sending it a new using the send email endpoints.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]
forwardEmailOptionsForwardEmailOptionsforwardEmailOptions

Return type

SentEmailDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

getAttachmentMetaData

AttachmentMetaData getAttachmentMetaData(attachmentId, emailId)

Get email attachment metadata. This is the contentType and contentLength of an attachment. To get the individual attachments use the downloadAttachment methods.

Returns the metadata such as name and content-type for a given attachment and email.

Parameters

NameTypeDescriptionNotes
attachmentIdStringID of attachment[default to null]
emailIdUUIDID of email[default to null]

Return type

AttachmentMetaData

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getAttachments1

List getAttachments1(emailId)

Get all email attachment metadata. Metadata includes name and size of attachments.

Returns an array of attachment metadata such as name and content-type for a given email if present.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

List

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getEmail

Email getEmail(emailId, decode)

Get email content including headers and body. Expects email to exist by ID. For emails that may not have arrived yet use the WaitForController.

Returns a email summary object with headers and content. To retrieve the raw unparsed email use the getRawEmail endpoints

Parameters

NameTypeDescriptionNotes
emailIdUUIDemailId[default to null]
decodeBooleanDecode email body quoted-printable encoding to plain text. SMTP servers often encode text using quoted-printable format (for instance =D7). This can be a pain for testing[optional] [default to false]

Return type

Email

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getEmailContentMatch

EmailContentMatchResult getEmailContentMatch(emailId, contentMatchOptions)

Get email content regex pattern match results. Runs regex against email body and returns match groups.

Return the matches for a given Java style regex pattern. Do not include the typical `/` at start or end of regex in some languages. Given an example `your code is: 12345` the pattern to extract match looks like `code is: (d{6})`. This will return an array of matches with the first matching the entire pattern and the subsequent matching the groups: `['code is: 123456', '123456']` See https://docs.oracle.com/javase/8/docs/api/java/util/regex/ for more information of available patterns. 

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email to match against[default to null]
contentMatchOptionsContentMatchOptionscontentMatchOptions

Return type

EmailContentMatchResult

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

getEmailHTML

String getEmailHTML(emailId, decode)

Get email content as HTML. For displaying emails in browser context.

Retrieve email content as HTML response for viewing in browsers. Decodes quoted-printable entities and converts charset to UTF-8. Pass your API KEY as a request parameter when viewing in a browser: `?apiKey=xxx`

Parameters

NameTypeDescriptionNotes
emailIdUUIDemailId[default to null]
decodeBooleandecode[optional] [default to false]

Return type

String

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: text/html

getEmailHTMLQuery

EmailTextLinesResult getEmailHTMLQuery(emailId, htmlSelector)

Parse and return text from an email, stripping HTML and decoding encoded characters

Parse an email body and return the content as an array of text. HTML parsing uses JSoup which supports JQuery/CSS style selectors

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email to perform HTML query on[default to null]
htmlSelectorStringHTML selector to search for. Uses JQuery/JSoup/CSS style selector like ‘.my-div’ to match content. See https://jsoup.org/apidocs/org/jsoup/select/ for more information.[optional] [default to null]

Return type

EmailTextLinesResult

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

EmailLinksResult getEmailLinks(emailId)

Parse and return list of links found in an email (only works for HTML content)

HTML parsing uses JSoup and UNIX line separators. Searches content for href attributes

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email to fetch text for[default to null]

Return type

EmailLinksResult

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getEmailTextLines

EmailTextLinesResult getEmailTextLines(emailId, decodeHtmlEntities, lineSeparator)

Parse and return text from an email, stripping HTML and decoding encoded characters

Parse an email body and return the content as an array of strings. HTML parsing uses JSoup and UNIX line separators.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email to fetch text for[default to null]
decodeHtmlEntitiesBooleanDecode HTML entities[optional] [default to null]
lineSeparatorStringLine separator character[optional] [default to null]

Return type

EmailTextLinesResult

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getEmailsPaginated

PageEmailProjection getEmailsPaginated(before, inboxId, page, searchFilter, since, size, sort, unreadOnly)

Get all emails in all inboxes in paginated form. Email API list all.

By default returns all emails across all inboxes sorted by ascending created at date. Responses are paginated. You can restrict results to a list of inbox IDs. You can also filter out read messages

Parameters

NameTypeDescriptionNotes
beforeDateOptional filter emails received before given date time[optional] [default to null]
inboxIdListOptional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.[optional] [default to null]
pageIntegerOptional page in email list pagination[optional] [default to 0]
searchFilterStringOptional search filter. Searches email recipients, sender, subject, email address and ID. Does not search email body[optional] [default to false]
sinceDateOptional filter emails received after given date time[optional] [default to null]
sizeIntegerOptional page size in email list pagination. Maximum size is 100. Use page and sort to page through larger results[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]
unreadOnlyBooleanOptional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly[optional] [default to false]

Return type

PageEmailProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getGravatarUrlForEmailAddress

GravatarUrl getGravatarUrlForEmailAddress(emailAddress, size)

Get gravatar url for email address

Parameters

NameTypeDescriptionNotes
emailAddressStringemailAddress[default to null]
sizeStringsize[optional] [default to null]

Return type

GravatarUrl

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getLatestEmail

Email getLatestEmail(inboxIds)

Get latest email in all inboxes. Most recently received.

Get the newest email in all inboxes or in a passed set of inbox IDs

Parameters

NameTypeDescriptionNotes
inboxIdsListOptional set of inboxes to filter by. Only get the latest email from these inbox IDs. If not provided will search across all inboxes[optional] [default to null]

Return type

Email

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getLatestEmailInInbox

Email getLatestEmailInInbox(inboxId)

Get latest email in an inbox. Use WaitForController to get emails that may not have arrived yet.

Get the newest email in all inboxes or in a passed set of inbox IDs

Parameters

NameTypeDescriptionNotes
inboxIdUUIDID of the inbox you want to get the latest email from[optional] [default to null]

Return type

Email

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getOrganizationEmailsPaginated

PageEmailProjection getOrganizationEmailsPaginated(before, inboxId, page, searchFilter, since, size, sort, unreadOnly)

Get all organization emails. List team or shared test email accounts

By default returns all emails across all team inboxes sorted by ascending created at date. Responses are paginated. You can restrict results to a list of inbox IDs. You can also filter out read messages

Parameters

NameTypeDescriptionNotes
beforeDateOptional filter emails received before given date time[optional] [default to null]
inboxIdListOptional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.[optional] [default to null]
pageIntegerOptional page in email list pagination[optional] [default to 0]
searchFilterStringOptional search filter search filter for emails.[optional] [default to null]
sinceDateOptional filter emails received after given date time[optional] [default to null]
sizeIntegerOptional page size in email list pagination. Maximum size is 100. Use page and sort to page through larger results[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]
unreadOnlyBooleanOptional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly[optional] [default to false]

Return type

PageEmailProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getRawEmailContents

String getRawEmailContents(emailId)

Get raw email string. Returns unparsed raw SMTP message with headers and body.

Returns a raw, unparsed, and unprocessed email. If your client has issues processing the response it is likely due to the response content-type which is text/plain. If you need a JSON response content-type use the getRawEmailJson endpoint

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

String

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: text/plain

getRawEmailJson

RawEmailJson getRawEmailJson(emailId)

Get raw email in JSON. Unparsed SMTP message in JSON wrapper format.

Returns a raw, unparsed, and unprocessed email wrapped in a JSON response object for easier handling when compared with the getRawEmail text/plain response

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

RawEmailJson

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getUnreadEmailCount

UnreadCount getUnreadEmailCount()

Get unread email count

Get number of emails unread. Unread means has not been viewed in dashboard or returned in an email API response

Parameters

This endpoint does not need any parameter.

Return type

UnreadCount

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

markAsRead

EmailPreview markAsRead(emailId, read)

Mark an email as read on unread

Marks an email as read or unread. Pass boolean read flag to set value. This is useful if you want to read an email but keep it as unread

Parameters

NameTypeDescriptionNotes
emailIdUUIDemailId[default to null]
readBooleanWhat value to assign to email read property. Default true.[optional] [default to true]

Return type

EmailPreview

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

replyToEmail

SentEmailDto replyToEmail(emailId, replyToEmailOptions)

Reply to an email

Send the reply to the email sender or reply-to and include same subject cc bcc etc. Reply to an email and the contents will be sent with the existing subject to the emails `to`, `cc`, and `bcc`.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of the email that should be replied to[default to null]
replyToEmailOptionsReplyToEmailOptionsreplyToEmailOptions

Return type

SentEmailDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

sendEmailSourceOptional

sendEmailSourceOptional(inboxId, useDomainPool, sendEmailOptions)

Send email

Alias for `InboxController.sendEmail` method - see original method for full details. Sends an email from a given inbox that you have created. If no inbox is supplied a random inbox will be created for you and used to send the email.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDID of the inbox you want to send the email from[optional] [default to null]
useDomainPoolBooleanUse domain pool. Optionally create inbox to send from using the mailslurp domain pool.[optional] [default to null]
sendEmailOptionsSendEmailOptionsOptions for the email[optional]

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: Not defined

validateEmail

ValidationDto validateEmail(emailId)

Validate email HTML contents

Validate the HTML content of email if HTML is found. Considered valid if no HTML is present.

Parameters

NameTypeDescriptionNotes
emailIdUUIDID of email[default to null]

Return type

ValidationDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json