Packages
mailslurp
15.14.0
15.17.22
15.17.21
15.17.17
15.17.16
15.17.15
15.17.14
15.17.13
15.17.12
15.17.11
15.17.10
15.17.9
15.17.8
15.17.7
15.17.6
15.17.5
15.17.4
15.17.3
15.17.2
15.17.1
15.17.0
15.16.22
15.16.21
15.16.20
15.16.19
15.16.18
15.16.17
15.16.16
15.16.15
15.16.14
15.16.13
15.16.12
15.16.11
15.16.10
15.16.9
15.16.8
15.16.7
15.16.6
15.16.5
15.16.4
15.16.3
15.16.2
15.16.1
15.16.0
15.15.5
15.15.4
15.15.2
15.15.1
15.14.0
15.13.32
15.13.31
15.13.30
15.13.29
15.13.28
15.13.27
15.13.26
15.13.25
15.13.24
15.13.23
15.13.22
15.13.21
15.13.20
15.13.19
15.13.18
15.13.17
15.13.16
15.13.15
15.13.14
15.13.13
15.13.11
15.13.10
15.13.9
15.13.8
15.13.7
15.13.6
15.13.5
15.13.4
15.13.3
15.13.2
15.13.1
15.13.0
15.12.17
15.12.16
15.12.15
15.12.14
15.12.13
15.12.12
15.12.11
15.12.3
15.12.2
15.12.1
15.12.0
15.11.1
15.11.0
15.9.0
15.8.1
15.8.0
15.7.17
15.7.16
15.7.15
15.7.14
15.7.13
15.7.12
15.7.10
15.7.8
15.7.7
15.7.5
15.7.4
15.7.1
15.7.0
15.6.0
15.5.6
15.5.5
15.5.4
15.5.3
15.5.2
15.5.1
15.5.0
15.4.2
15.4.1
15.4.0
15.3.1
15.3.0
15.2.8
15.2.7
15.2.6
15.2.5
15.2.4
15.2.2
15.2.1
15.2.0
15.1.4
15.1.3
15.1.2
15.1.1
15.1.0
15.0.3
15.0.2
15.0.1
15.0.0
14.0.6
14.0.5
14.0.3
14.0.2
14.0.1
14.0.0
13.1.0
13.0.1
13.0.0
12.8.4
12.8.3
12.8.2
12.8.1
12.8.0
12.7.1
12.7.0
12.6.4
12.6.3
12.6.1
12.6.0
12.5.0
12.4.8
12.4.7
12.4.6
12.4.5
12.4.4
12.4.2
12.4.1
12.4.0
12.3.333
12.3.2
12.3.1
12.3.0
12.2.2
12.2.1
12.2.0
12.1.3333
12.1.32
12.1.31
12.1.30
12.1.29
12.1.28
12.1.27
12.1.26
12.1.25
12.1.24
12.1.23
12.1.22
12.1.1
12.1.0
12.0.0
11.16666.0
11.15.0
11.14.0
11.13.0
11.12.0
11.11.1
11.11.0
11.10.3
11.10.2
11.10.1
11.10.0
11.9.7
11.9.6
11.9.4
11.9.3
11.9.2
11.9.1
11.9.0
11.8.13
11.8.12
11.8.11
11.8.10
11.8.9
11.8.8
11.8.6
11.8.5
11.8.4
11.8.3
11.8.2
11.8.1
11.8.0
11.7.509
11.7.508
11.7.506
11.7.505
11.7.502
11.7.501
11.7.500
11.7.400
11.7.314
11.7.313
11.7.312
11.7.311
11.7.310
11.7.309
11.7.308
11.7.307
11.7.306
11.7.304
11.7.302
11.7.301
11.7.300
11.7.215
11.7.214
11.7.213
11.7.212
11.7.211
11.7.210
11.7.203
11.7.202
11.7.201
11.7.200
11.7.122
11.7.11
11.7.10
11.7.9
11.7.8
11.7.7
11.7.6
11.7.5
11.7.4
11.7.2
11.7.1
11.7.0
11.6.24
11.6.23
11.6.22
11.6.21
11.6.20
11.6.19
11.6.18
11.6.16
11.6.15
11.6.14
11.6.13
11.6.12
11.6.11
11.6.10
11.6.9
11.6.8
11.6.7
11.6.6
11.6.5
11.6.4
11.6.3
11.6.2
11.6.1
11.5.2333
Elixir Email API for MailSlurp
Current section
Files
Jump to
Current section
Files
lib/mail_slurp_api/api/sent_emails_controller.ex
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.
defmodule MailSlurpAPI.Api.SentEmailsController do
@moduledoc """
API calls for all endpoints tagged `SentEmailsController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Delete all sent email receipts
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_all_sent_emails(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_all_sent_emails(connection, _opts \\ []) do
%{}
|> method(:delete)
|> url("/sent")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Delete sent email receipt
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_sent_email(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_sent_email(connection, id, _opts \\ []) do
%{}
|> method(:delete)
|> url("/sent/#{id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Get all sent email tracking pixels in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in sent email tracking pixel list pagination
- :size (integer()): Optional page size in sent email tracking pixel list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :search_filter (String.t): Optional search filter
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.PageTrackingPixelProjection{}} on success
{:error, info} on failure
"""
@spec get_all_sent_tracking_pixels(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageTrackingPixelProjection.t} | {:error, Tesla.Env.t}
def get_all_sent_tracking_pixels(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"searchFilter" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/tracking-pixels")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageTrackingPixelProjection{}}
])
end
@doc """
Get raw sent email string. Returns unparsed raw SMTP message with headers and body.
Returns a raw, unparsed, and unprocessed sent 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 getRawSentEmailJson endpoint
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- email_id (String.t): ID of email
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.String.t{}} on success
{:error, info} on failure
"""
@spec get_raw_sent_email_contents(Tesla.Env.client, String.t, keyword()) :: {:ok, String.t} | {:error, Tesla.Env.t}
def get_raw_sent_email_contents(connection, email_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/#{email_id}/raw")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, false}
])
end
@doc """
Get raw sent email in JSON. Unparsed SMTP message in JSON wrapper format.
Returns a raw, unparsed, and unprocessed sent email wrapped in a JSON response object for easier handling when compared with the getRawSentEmail text/plain response
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- email_id (String.t): ID of email
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.RawEmailJson{}} on success
{:error, info} on failure
"""
@spec get_raw_sent_email_json(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.RawEmailJson.t} | {:error, Tesla.Env.t}
def get_raw_sent_email_json(connection, email_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/#{email_id}/raw/json")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.RawEmailJson{}}
])
end
@doc """
Get a sent email delivery status
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- delivery_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.DeliveryStatusDto{}} on success
{:error, info} on failure
"""
@spec get_sent_delivery_status(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.DeliveryStatusDto.t} | {:error, Tesla.Env.t}
def get_sent_delivery_status(connection, delivery_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/delivery-status/#{delivery_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.DeliveryStatusDto{}}
])
end
@doc """
Get all sent email delivery statuses
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- 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
{:ok, %MailSlurpAPI.Model.PageDeliveryStatus{}} on success
{:error, info} on failure
"""
@spec get_sent_delivery_statuses(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageDeliveryStatus.t} | {:error, Tesla.Env.t}
def get_sent_delivery_statuses(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/delivery-status")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageDeliveryStatus{}}
])
end
@doc """
Get all sent email delivery statuses
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- sent_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
{:ok, %MailSlurpAPI.Model.PageDeliveryStatus{}} on success
{:error, info} on failure
"""
@spec get_sent_delivery_statuses_by_sent_id(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageDeliveryStatus.t} | {:error, Tesla.Env.t}
def get_sent_delivery_statuses_by_sent_id(connection, sent_id, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/#{sent_id}/delivery-status")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageDeliveryStatus{}}
])
end
@doc """
Get sent email receipt
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.SentEmailDto{}} on success
{:error, info} on failure
"""
@spec get_sent_email(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.SentEmailDto.t} | {:error, Tesla.Env.t}
def get_sent_email(connection, id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/#{id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.SentEmailDto{}}
])
end
@doc """
Get sent email HTML content
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.String.t{}} on success
{:error, info} on failure
"""
@spec get_sent_email_html_content(Tesla.Env.client, String.t, keyword()) :: {:ok, String.t} | {:error, Tesla.Env.t}
def get_sent_email_html_content(connection, id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/#{id}/html")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, false}
])
end
@doc """
Get sent email URL for viewing in browser or downloading
Get a list of URLs for sent email content as text/html or raw SMTP message for viewing the message in a browser.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.EmailPreviewUrls{}} on success
{:error, info} on failure
"""
@spec get_sent_email_preview_ur_ls(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.EmailPreviewUrls.t} | {:error, Tesla.Env.t}
def get_sent_email_preview_ur_ls(connection, id, _opts \\ []) do
%{}
|> method(:get)
|> url("/sent/#{id}/urls")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.EmailPreviewUrls{}}
])
end
@doc """
Get all tracking pixels for a sent email in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- id (String.t):
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in sent email tracking pixel list pagination
- :size (integer()): Optional page size in sent email tracking pixel list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :search_filter (String.t): Optional search filter
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.PageTrackingPixelProjection{}} on success
{:error, info} on failure
"""
@spec get_sent_email_tracking_pixels(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageTrackingPixelProjection.t} | {:error, Tesla.Env.t}
def get_sent_email_tracking_pixels(connection, id, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"searchFilter" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/#{id}/tracking-pixels")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageTrackingPixelProjection{}}
])
end
@doc """
Get all sent emails in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :inbox_id (String.t): Optional inboxId to filter sender of sent emails by
- :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 search filter
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.PageSentEmailProjection{}} on success
{:error, info} on failure
"""
@spec get_sent_emails(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageSentEmailProjection.t} | {:error, Tesla.Env.t}
def get_sent_emails(connection, opts \\ []) do
optional_params = %{
:"inboxId" => :query,
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"searchFilter" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageSentEmailProjection{}}
])
end
@doc """
Get results of email sent with queues in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- 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
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.PageSentEmailWithQueueProjection{}} on success
{:error, info} on failure
"""
@spec get_sent_emails_with_queue_results(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageSentEmailWithQueueProjection.t} | {:error, Tesla.Env.t}
def get_sent_emails_with_queue_results(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/queue-results")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageSentEmailWithQueueProjection{}}
])
end
@doc """
Get all sent organization emails in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :inbox_id (String.t): Optional inboxId to filter sender of sent emails by
- :page (integer()): Optional page index in sent email list pagination
- :size (integer()): Optional page size in sent email list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :search_filter (String.t): Optional search filter
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.PageSentEmailProjection{}} on success
{:error, info} on failure
"""
@spec get_sent_organization_emails(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageSentEmailProjection.t} | {:error, Tesla.Env.t}
def get_sent_organization_emails(connection, opts \\ []) do
optional_params = %{
:"inboxId" => :query,
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"searchFilter" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/organization")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageSentEmailProjection{}}
])
end
@doc """
Wait for delivery statuses
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :sent_id (String.t): Optional sent email ID filter
- :inbox_id (String.t): Optional inbox ID filter
- :timeout (integer()): Optional timeout milliseconds
- :index (integer()): Zero based index of the delivery status to wait for. If 1 delivery status already and you want to wait for the 2nd pass index=1
- :since (DateTime.t): Filter by created at after the given timestamp
- :before (DateTime.t): Filter by created at before the given timestamp
## Returns
{:ok, %MailSlurpAPI.Model.DeliveryStatusDto{}} on success
{:error, info} on failure
"""
@spec wait_for_delivery_statuses(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.DeliveryStatusDto.t} | {:error, Tesla.Env.t}
def wait_for_delivery_statuses(connection, opts \\ []) do
optional_params = %{
:"sentId" => :query,
:"inboxId" => :query,
:"timeout" => :query,
:"index" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/sent/delivery-status/wait-for")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.DeliveryStatusDto{}}
])
end
end