MailSlurpAPI.Api.InboxController (mailslurp v15.17.22)

API calls for all endpoints tagged InboxController.

Summary

Functions

Cancel a scheduled email job Get a scheduled email job and cancel it. Will fail if status of job is already cancelled, failed, or complete.

Create an inbox email address. An inbox has a real email address and can send and receive emails. Inboxes can be either SMTP or HTTP inboxes. Create a new inbox and with a randomized email address to send and receive from. Pass emailAddress parameter if you wish to use a specific email address. Creating an inbox is required before sending or receiving emails. If writing tests it is recommended that you create a new inbox during each test method so that it is unique and empty.

Create an inbox ruleset Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving

Create an inbox with default options. Uses MailSlurp domain pool address and is private.

Create an inbox with options. Extended options for inbox creation. Additional endpoint that allows inbox creation with request body options. Can be more flexible that other methods for some clients.

Delete all emails in a given inboxes. Deletes all emails in an inbox. Be careful as emails cannot be recovered

Delete all inboxes Permanently delete all inboxes and associated email addresses. This will also delete all emails within the inboxes. Be careful as inboxes cannot be recovered once deleted. Note: deleting inboxes will not impact your usage limits. Monthly inbox creation limits are based on how many inboxes were created in the last 30 days, not how many inboxes you currently have.

Delete inboxes by description Permanently delete all inboxes by description

Delete inboxes by name Permanently delete all inboxes by name

Delete inboxes by tag Permanently delete all inboxes by tag

Delete inbox Permanently delete an inbox and associated email address as well as all emails within the given inbox. This action cannot be undone. Note: deleting an inbox will not affect your account usage. Monthly inbox usage is based on how many inboxes you create within 30 days, not how many exist at time of request.

Does inbox exist Check if inboxes exist by email address. Useful if you are sending emails to mailslurp addresses

Remove expired inboxes Remove any expired inboxes for your account (instead of waiting for scheduled removal on server)

List All Inboxes Paginated List inboxes in paginated form. The results are available on the content property of the returned object. This method allows for page index (zero based), page size (how many results to return), and a sort direction (based on createdAt time). You Can also filter by whether an inbox is favorited or use email address pattern. This method is the recommended way to query inboxes. The alternative getInboxes method returns a full list of inboxes but is limited to 100 results.

Get all scheduled email sending jobs for account Schedule sending of emails using scheduled jobs. These can be inbox or account level.

Get all email delivery statuses for an inbox

Get emails in an Inbox. This method is not idempotent as it allows retries and waits if you want certain conditions to be met before returning. For simple listing and sorting of known emails use the email controller instead. List emails that an inbox has received. Only emails that are sent to the inbox's email address will appear in the inbox. It may take several seconds for any email you send to an inbox's email address to appear in the inbox. To make this endpoint wait for a minimum number of emails use the minCount parameter. The server will retry the inbox database until the minCount is satisfied or the retryTimeout is reached

Get IMAP and SMTP access usernames and passwords

Get Inbox. Returns properties of an inbox. Returns an inbox's properties, including its email address and ID.

Search for an inbox with the provided email address Get a inbox result by email address

Search for an inbox with the given name Get a inbox result by name

Get inbox emails paginated Get a paginated list of emails in an inbox. Does not hold connections open.

Get all inbox IDs Get list of inbox IDs

Get Inbox Sent Emails Returns an inbox's sent email receipts. Call individual sent email endpoints for more details. Note for privacy reasons the full body of sent emails is never stored. An MD5 hash hex is available for comparison instead.

Get inbox tags Get all inbox tags

List Inboxes and email addresses List the inboxes you have created. Note use of the more advanced getAllInboxes is recommended and allows paginated access using a limit and sort parameter.

Get latest email in an inbox. Use WaitForController to get emails that may not have arrived yet. Get the newest email in an inbox or wait for one to arrive

List Organization Inboxes Paginated List organization inboxes in paginated form. These are inboxes created with allowTeamAccess flag enabled. Organization inboxes are readOnly for non-admin users. The results are available on the content property of the returned object. This method allows for page index (zero based), page size (how many results to return), and a sort direction (based on createdAt time).

Get a scheduled email job Get a scheduled email job details.

Get all scheduled email sending jobs for the inbox Schedule sending of emails using scheduled jobs.

List inbox rulesets List all rulesets attached to an inbox

List inbox tracking pixels List all tracking pixels sent from an inbox

Send Email Send an email from an inbox's email address. The request body should contain the SendEmailOptions that include recipients, attachments, body etc. See SendEmailOptions for all available properties. Note the inboxId refers to the inbox's id not the inbox's email address. See https://www.mailslurp.com/guides/ for more information on how to send emails. This method does not return a sent email entity due to legacy reasons. To send and get a sent email as returned response use the sister method sendEmailAndConfirm.

Send email and return sent confirmation Sister method for standard sendEmail method with the benefit of returning a SentEmail entity confirming the successful sending of the email with a link to the sent object created for it.

Send email with queue Send an email using a queue. Will place the email onto a queue that will then be processed and sent. Use this queue method to enable any failed email sending to be recovered. This will prevent lost emails when sending if your account encounters a block or payment issue.

Send email using an SMTP mail envelope and message body and return sent confirmation Send email using an SMTP envelope containing RCPT TO, MAIL FROM, and a SMTP BODY.

Send a test email to inbox Send an inbox a test email to test email receiving is working

Send email with with delay or schedule Send an email using a delay. Will place the email onto a scheduler that will then be processed and sent. Use delays to schedule email sending.

Set inbox favourited state Set and return new favourite state for an inbox

Update Inbox. Change name and description. Email address is not editable. Update editable fields on an inbox

Functions

Link to this function

cancel_scheduled_job(connection, job_id, opts \\ [])

@spec cancel_scheduled_job(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.ScheduledJobDto.t()} | {:error, Tesla.Env.t()}

Cancel a scheduled email job Get a scheduled email job and cancel it. Will fail if status of job is already cancelled, failed, or complete.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • job_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

create_inbox(connection, opts \\ [])

@spec create_inbox(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxDto.t()} | {:error, Tesla.Env.t()}

Create an inbox email address. An inbox has a real email address and can send and receive emails. Inboxes can be either SMTP or HTTP inboxes. Create a new inbox and with a randomized email address to send and receive from. Pass emailAddress parameter if you wish to use a specific email address. Creating an inbox is required before sending or receiving emails. If writing tests it is recommended that you create a new inbox during each test method so that it is unique and empty.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :email_address (String.t): A custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as 123@mailslurp.com. If you use the useDomainPool option when the email address is null it will generate an email address with a more varied domain ending such as 123@mailslurp.info or 123@mailslurp.biz. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Note domain types must match the inbox type - so SMTP inboxes will only work with SMTP type domains. Avoid SMTP inboxes if you need to send emails as they can only receive. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.
    • :tags ([String.t]): Tags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.
    • :name (String.t): Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.
    • :description (String.t): Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with
    • :use_domain_pool (boolean()): Use the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default @mailslurp.com email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in @mailslurp.{world,info,xyz,...} . This means a TLD is randomly selecting from a list of .biz, .info, .xyz etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of @mailslurp.com or custom email address provided by the emailAddress field. Note this feature is only available for HTTP inbox types.
    • :favourite (boolean()): Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering
    • :expires_at (DateTime.t): Optional inbox expiration date. If null then this inbox is permanent and the emails in it won't be deleted. If an expiration date is provided or is required by your plan the inbox will be closed when the expiration time is reached. Expired inboxes still contain their emails but can no longer send or receive emails. An ExpiredInboxRecord is created when an inbox and the email address and inbox ID are recorded. The expiresAt property is a timestamp string in ISO DateTime Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX.
    • :expires_in (integer()): Number of milliseconds that inbox should exist for
    • :allow_team_access (boolean()): DEPRECATED (team access is always true). Grant team access to this inbox and the emails that belong to it for team members of your organization.
    • :inbox_type (String.t): HTTP (default) or SMTP inbox type. HTTP inboxes are default and best solution for most cases. SMTP inboxes are more reliable for public inbound email consumption (but do not support sending emails). When using custom domains the domain type must match the inbox type. HTTP inboxes are processed by AWS SES while SMTP inboxes use a custom mail server running at mx.mailslurp.com.
    • :virtual_inbox (boolean()): Virtual inbox prevents any outbound emails from being sent. It creates sent email records but will never send real emails to recipients. Great for testing and faking email sending.
    • :use_short_address (boolean()): Use a shorter email address under 31 characters
    • :domain_id (String.t): ID of custom domain to use for email address.
    • :domain_name (String.t): FQDN domain name for the domain you have verified. Will be appended with a randomly assigned recipient name. Use the emailAddress option instead to specify the full custom inbox.

Returns

} on success {:error, info} on failure

Link to this function

create_inbox_ruleset(connection, inbox_id, create_inbox_ruleset_options, opts \\ [])

Create an inbox ruleset Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): inboxId
  • create_inbox_ruleset_options (CreateInboxRulesetOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

create_inbox_with_defaults(connection, opts \\ [])

@spec create_inbox_with_defaults(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxDto.t()} | {:error, Tesla.Env.t()}

Create an inbox with default options. Uses MailSlurp domain pool address and is private.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

create_inbox_with_options(connection, create_inbox_dto, opts \\ [])

@spec create_inbox_with_options(
  Tesla.Env.client(),
  MailSlurpAPI.Model.CreateInboxDto.t(),
  keyword()
) :: {:ok, MailSlurpAPI.Model.InboxDto.t()} | {:error, Tesla.Env.t()}

Create an inbox with options. Extended options for inbox creation. Additional endpoint that allows inbox creation with request body options. Can be more flexible that other methods for some clients.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • create_inbox_dto (CreateInboxDto):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_all_inbox_emails(connection, inbox_id, opts \\ [])

@spec delete_all_inbox_emails(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete all emails in a given inboxes. Deletes all emails in an inbox. Be careful as emails cannot be recovered

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_all_inboxes(connection, opts \\ [])

@spec delete_all_inboxes(Tesla.Env.client(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete all inboxes Permanently delete all inboxes and associated email addresses. This will also delete all emails within the inboxes. Be careful as inboxes cannot be recovered once deleted. Note: deleting inboxes will not impact your usage limits. Monthly inbox creation limits are based on how many inboxes were created in the last 30 days, not how many inboxes you currently have.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_all_inboxes_by_description(connection, description, opts \\ [])

@spec delete_all_inboxes_by_description(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete inboxes by description Permanently delete all inboxes by description

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • description (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_all_inboxes_by_name(connection, name, opts \\ [])

@spec delete_all_inboxes_by_name(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete inboxes by name Permanently delete all inboxes by name

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • name (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_all_inboxes_by_tag(connection, tag, opts \\ [])

@spec delete_all_inboxes_by_tag(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete inboxes by tag Permanently delete all inboxes by tag

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • tag (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

delete_inbox(connection, inbox_id, opts \\ [])

@spec delete_inbox(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete inbox Permanently delete an inbox and associated email address as well as all emails within the given inbox. This action cannot be undone. Note: deleting an inbox will not affect your account usage. Monthly inbox usage is based on how many inboxes you create within 30 days, not how many exist at time of request.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

does_inbox_exist(connection, email_address, opts \\ [])

@spec does_inbox_exist(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxExistsDto.t()} | {:error, Tesla.Env.t()}

Does inbox exist Check if inboxes exist by email address. Useful if you are sending emails to mailslurp addresses

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • email_address (String.t): Email address
  • opts (KeywordList): [optional] Optional parameters
    • :allow_catch_all (boolean()):

Returns

} on success {:error, info} on failure

Link to this function

flush_expired(connection, opts \\ [])

@spec flush_expired(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.FlushExpiredInboxesResult.t()}
  | {:error, Tesla.Env.t()}

Remove expired inboxes Remove any expired inboxes for your account (instead of waiting for scheduled removal on server)

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :before (DateTime.t): Optional expired at before flag to flush expired inboxes that have expired before the given time

Returns

} on success {:error, info} on failure

Link to this function

get_all_inboxes(connection, opts \\ [])

@spec get_all_inboxes(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageInboxProjection.t()} | {:error, Tesla.Env.t()}

List All Inboxes Paginated List inboxes in paginated form. The results are available on the content property of the returned object. This method allows for page index (zero based), page size (how many results to return), and a sort direction (based on createdAt time). You Can also filter by whether an inbox is favorited or use email address pattern. This method is the recommended way to query inboxes. The alternative getInboxes method returns a full list of inboxes but is limited to 100 results.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in list pagination
    • :size (integer()): Optional page size in list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :favourite (boolean()): Optionally filter results for favourites only
    • :search (String.t): Optionally filter by search words partial matching ID, tags, name, and email address
    • :tag (String.t): Optionally filter by tags. Will return inboxes that include given tags
    • :team_access (boolean()): DEPRECATED. Optionally filter by team access.
    • :since (DateTime.t): Optional filter by created after given date time
    • :before (DateTime.t): Optional filter by created before given date time
    • :inbox_type (String.t): Optional filter by inbox type
    • :domain_id (String.t): Optional domain ID filter

Returns

} on success {:error, info} on failure

Link to this function

get_all_scheduled_jobs(connection, opts \\ [])

@spec get_all_scheduled_jobs(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageScheduledJobs.t()} | {:error, Tesla.Env.t()}

Get all scheduled email sending jobs for account Schedule sending of emails using scheduled jobs. These can be inbox or account level.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in scheduled job list pagination
    • :size (integer()): Optional page size in scheduled job list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :since (DateTime.t): Filter by created at after the given timestamp
    • :before (DateTime.t): Filter by created at before the given timestamp

Returns

} on success {:error, info} on failure

Link to this function

get_delivery_statuses_by_inbox_id(connection, inbox_id, opts \\ [])

@spec get_delivery_statuses_by_inbox_id(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageDeliveryStatus.t()} | {:error, Tesla.Env.t()}

Get all email delivery statuses for an inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in delivery status list pagination
    • :size (integer()): Optional page size in delivery status list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :since (DateTime.t): Filter by created at after the given timestamp
    • :before (DateTime.t): Filter by created at before the given timestamp

Returns

} on success {:error, info} on failure

Link to this function

get_emails(connection, inbox_id, opts \\ [])

@spec get_emails(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, [MailSlurpAPI.Model.EmailPreview.t()]} | {:error, Tesla.Env.t()}

Get emails in an Inbox. This method is not idempotent as it allows retries and waits if you want certain conditions to be met before returning. For simple listing and sorting of known emails use the email controller instead. List emails that an inbox has received. Only emails that are sent to the inbox's email address will appear in the inbox. It may take several seconds for any email you send to an inbox's email address to appear in the inbox. To make this endpoint wait for a minimum number of emails use the minCount parameter. The server will retry the inbox database until the minCount is satisfied or the retryTimeout is reached

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): Id of inbox that emails belongs to
  • opts (KeywordList): [optional] Optional parameters
    • :size (integer()): Alias for limit. Assessed first before assessing any passed limit.
    • :limit (integer()): Limit the result set, ordered by received date time sort direction. Maximum 100. For more listing options see the email controller
    • :sort (String.t): Sort the results by received date and direction ASC or DESC
    • :retry_timeout (integer()): Maximum milliseconds to spend retrying inbox database until minCount emails are returned
    • :delay_timeout (integer()):
    • :min_count (integer()): Minimum acceptable email count. Will cause request to hang (and retry) until minCount is satisfied or retryTimeout is reached.
    • :unread_only (boolean()):
    • :before (DateTime.t): Exclude emails received after this ISO 8601 date time
    • :since (DateTime.t): Exclude emails received before this ISO 8601 date time

Returns

, ...]} on success {:error, info} on failure

Link to this function

get_imap_smtp_access(connection, opts \\ [])

@spec get_imap_smtp_access(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.ImapSmtpAccessDetails.t()} | {:error, Tesla.Env.t()}

Get IMAP and SMTP access usernames and passwords

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :inbox_id (String.t): Inbox ID

Returns

} on success {:error, info} on failure

Link to this function

get_inbox(connection, inbox_id, opts \\ [])

@spec get_inbox(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxDto.t()} | {:error, Tesla.Env.t()}

Get Inbox. Returns properties of an inbox. Returns an inbox's properties, including its email address and ID.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_by_email_address(connection, email_address, opts \\ [])

@spec get_inbox_by_email_address(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxByEmailAddressResult.t()}
  | {:error, Tesla.Env.t()}

Search for an inbox with the provided email address Get a inbox result by email address

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • email_address (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_by_name(connection, name, opts \\ [])

@spec get_inbox_by_name(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxByNameResult.t()} | {:error, Tesla.Env.t()}

Search for an inbox with the given name Get a inbox result by name

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • name (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_count(connection, opts \\ [])

@spec get_inbox_count(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.CountDto.t()} | {:error, Tesla.Env.t()}

Get total inbox count

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_email_count(connection, inbox_id, opts \\ [])

@spec get_inbox_email_count(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.CountDto.t()} | {:error, Tesla.Env.t()}

Get email count in inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): Id of inbox that emails belongs to
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_emails_paginated(connection, inbox_id, opts \\ [])

@spec get_inbox_emails_paginated(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageEmailPreview.t()} | {:error, Tesla.Env.t()}

Get inbox emails paginated Get a paginated list of emails in an inbox. Does not hold connections open.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): Id of inbox that emails belongs to
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in inbox emails list pagination
    • :size (integer()): Optional page size in inbox emails list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :since (DateTime.t): Optional filter by received after given date time
    • :before (DateTime.t): Optional filter by received before given date time

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_ids(connection, opts \\ [])

@spec get_inbox_ids(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.InboxIdsResult.t()} | {:error, Tesla.Env.t()}

Get all inbox IDs Get list of inbox IDs

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_sent_emails(connection, inbox_id, opts \\ [])

@spec get_inbox_sent_emails(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageSentEmailProjection.t()}
  | {:error, Tesla.Env.t()}

Get Inbox Sent Emails Returns an inbox's sent email receipts. Call individual sent email endpoints for more details. Note for privacy reasons the full body of sent emails is never stored. An MD5 hash hex is available for comparison instead.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in inbox sent email list pagination
    • :size (integer()): Optional page size in inbox sent email list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :search_filter (String.t): Optional sent email search
    • :since (DateTime.t): Optional filter by sent after given date time
    • :before (DateTime.t): Optional filter by sent before given date time

Returns

} on success {:error, info} on failure

Link to this function

get_inbox_tags(connection, opts \\ [])

@spec get_inbox_tags(Tesla.Env.client(), keyword()) ::
  {:ok, [String.t()]} | {:error, Tesla.Env.t()}

Get inbox tags Get all inbox tags

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters

Returns

, ...]} on success {:error, info} on failure

Link to this function

get_inboxes(connection, opts \\ [])

@spec get_inboxes(Tesla.Env.client(), keyword()) ::
  {:ok, [MailSlurpAPI.Model.InboxDto.t()]} | {:error, Tesla.Env.t()}

List Inboxes and email addresses List the inboxes you have created. Note use of the more advanced getAllInboxes is recommended and allows paginated access using a limit and sort parameter.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :size (integer()): Optional result size limit. Note an automatic limit of 100 results is applied. See the paginated getAllEmails for larger queries.
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :since (DateTime.t): Optional filter by created after given date time
    • :exclude_catch_all_inboxes (boolean()): Optional exclude catch all inboxes
    • :before (DateTime.t): Optional filter by created before given date time

Returns

, ...]} on success {:error, info} on failure

Link to this function

get_latest_email_in_inbox(connection, inbox_id, timeout_millis, opts \\ [])

@spec get_latest_email_in_inbox(Tesla.Env.client(), String.t(), integer(), keyword()) ::
  {:ok, MailSlurpAPI.Model.Email.t()} | {:error, Tesla.Env.t()}

Get latest email in an inbox. Use WaitForController to get emails that may not have arrived yet. Get the newest email in an inbox or wait for one to arrive

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to get the latest email from
  • timeout_millis (integer()): Timeout milliseconds to wait for latest email
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_organization_inboxes(connection, opts \\ [])

@spec get_organization_inboxes(Tesla.Env.client(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageOrganizationInboxProjection.t()}
  | {:error, Tesla.Env.t()}

List Organization Inboxes Paginated List organization inboxes in paginated form. These are inboxes created with allowTeamAccess flag enabled. Organization inboxes are readOnly for non-admin users. The results are available on the content property of the returned object. This method allows for page index (zero based), page size (how many results to return), and a sort direction (based on createdAt time).

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in list pagination
    • :size (integer()): Optional page size in list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :search_filter (String.t): Optional search filter
    • :since (DateTime.t): Optional filter by created after given date time
    • :before (DateTime.t): Optional filter by created before given date time

Returns

} on success {:error, info} on failure

Link to this function

get_scheduled_job(connection, job_id, opts \\ [])

@spec get_scheduled_job(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.ScheduledJobDto.t()} | {:error, Tesla.Env.t()}

Get a scheduled email job Get a scheduled email job details.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • job_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

get_scheduled_jobs_by_inbox_id(connection, inbox_id, opts \\ [])

@spec get_scheduled_jobs_by_inbox_id(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageScheduledJobs.t()} | {:error, Tesla.Env.t()}

Get all scheduled email sending jobs for the inbox Schedule sending of emails using scheduled jobs.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in scheduled job list pagination
    • :size (integer()): Optional page size in scheduled job list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :since (DateTime.t): Filter by created at after the given timestamp
    • :before (DateTime.t): Filter by created at before the given timestamp

Returns

} on success {:error, info} on failure

Link to this function

list_inbox_rulesets(connection, inbox_id, opts \\ [])

@spec list_inbox_rulesets(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageInboxRulesetDto.t()} | {:error, Tesla.Env.t()}

List inbox rulesets List all rulesets attached to an inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in inbox ruleset list pagination
    • :size (integer()): Optional page size in inbox ruleset list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :search_filter (String.t): Optional search filter
    • :since (DateTime.t): Optional filter by created after given date time
    • :before (DateTime.t): Optional filter by created before given date time

Returns

} on success {:error, info} on failure

Link to this function

list_inbox_tracking_pixels(connection, inbox_id, opts \\ [])

@spec list_inbox_tracking_pixels(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, MailSlurpAPI.Model.PageTrackingPixelProjection.t()}
  | {:error, Tesla.Env.t()}

List inbox tracking pixels List all tracking pixels sent from an inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters
    • :page (integer()): Optional page index in inbox tracking pixel list pagination
    • :size (integer()): Optional page size in inbox tracking pixel list pagination
    • :sort (String.t): Optional createdAt sort direction ASC or DESC
    • :search_filter (String.t): Optional search filter
    • :since (DateTime.t): Optional filter by created after given date time
    • :before (DateTime.t): Optional filter by created before given date time

Returns

} on success {:error, info} on failure

Link to this function

send_email(connection, inbox_id, send_email_options, opts \\ [])

@spec send_email(
  Tesla.Env.client(),
  String.t(),
  MailSlurpAPI.Model.SendEmailOptions.t(),
  keyword()
) :: {:ok, nil} | {:error, Tesla.Env.t()}

Send Email Send an email from an inbox's email address. The request body should contain the SendEmailOptions that include recipients, attachments, body etc. See SendEmailOptions for all available properties. Note the inboxId refers to the inbox's id not the inbox's email address. See https://www.mailslurp.com/guides/ for more information on how to send emails. This method does not return a sent email entity due to legacy reasons. To send and get a sent email as returned response use the sister method sendEmailAndConfirm.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to send the email from
  • send_email_options (SendEmailOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

send_email_and_confirm(connection, inbox_id, send_email_options, opts \\ [])

@spec send_email_and_confirm(
  Tesla.Env.client(),
  String.t(),
  MailSlurpAPI.Model.SendEmailOptions.t(),
  keyword()
) :: {:ok, MailSlurpAPI.Model.SentEmailDto.t()} | {:error, Tesla.Env.t()}

Send email and return sent confirmation Sister method for standard sendEmail method with the benefit of returning a SentEmail entity confirming the successful sending of the email with a link to the sent object created for it.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to send the email from
  • send_email_options (SendEmailOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

send_email_with_queue(connection, inbox_id, validate_before_enqueue, send_email_options, opts \\ [])

@spec send_email_with_queue(
  Tesla.Env.client(),
  String.t(),
  boolean(),
  MailSlurpAPI.Model.SendEmailOptions.t(),
  keyword()
) :: {:ok, nil} | {:error, Tesla.Env.t()}

Send email with queue Send an email using a queue. Will place the email onto a queue that will then be processed and sent. Use this queue method to enable any failed email sending to be recovered. This will prevent lost emails when sending if your account encounters a block or payment issue.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to send the email from
  • validate_before_enqueue (boolean()): Validate before adding to queue
  • send_email_options (SendEmailOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

send_smtp_envelope(connection, inbox_id, send_smtp_envelope_options, opts \\ [])

Send email using an SMTP mail envelope and message body and return sent confirmation Send email using an SMTP envelope containing RCPT TO, MAIL FROM, and a SMTP BODY.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to send the email from
  • send_smtp_envelope_options (SendSmtpEnvelopeOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

send_test_email(connection, inbox_id, opts \\ [])

@spec send_test_email(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Send a test email to inbox Send an inbox a test email to test email receiving is working

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

send_with_schedule(connection, inbox_id, send_email_options, opts \\ [])

Send email with with delay or schedule Send an email using a delay. Will place the email onto a scheduler that will then be processed and sent. Use delays to schedule email sending.

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of the inbox you want to send the email from
  • send_email_options (SendEmailOptions):
  • opts (KeywordList): [optional] Optional parameters
    • :send_at_timestamp (DateTime.t): Sending timestamp
    • :send_at_now_plus_seconds (integer()): Send after n seconds
    • :validate_before_enqueue (boolean()): Validate before adding to queue

Returns

} on success {:error, info} on failure

Link to this function

set_inbox_favourited(connection, inbox_id, set_inbox_favourited_options, opts \\ [])

Set inbox favourited state Set and return new favourite state for an inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t): ID of inbox to set favourite state
  • set_inbox_favourited_options (SetInboxFavouritedOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure

Link to this function

update_inbox(connection, inbox_id, update_inbox_options, opts \\ [])

Update Inbox. Change name and description. Email address is not editable. Update editable fields on an inbox

Parameters

  • connection (MailSlurpAPI.Connection): Connection to server
  • inbox_id (String.t):
  • update_inbox_options (UpdateInboxOptions):
  • opts (KeywordList): [optional] Optional parameters

Returns

} on success {:error, info} on failure