Packages
mailslurp
15.12.17
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/alias_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.AliasController do
@moduledoc """
API calls for all endpoints tagged `AliasController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Create an email alias. Must be verified by clicking link inside verification email that will be sent to the address. Once verified the alias will be active.
Email aliases use a MailSlurp randomly generated email address (or a custom domain inbox that you provide) to mask or proxy a real email address. Emails sent to the alias address will be forwarded to the hidden email address it was created for. If you want to send a reply use the threadId attached
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- create_alias_options (CreateAliasOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.AliasDto{}} on success
{:error, info} on failure
"""
@spec create_alias(Tesla.Env.client, MailSlurpAPI.Model.CreateAliasOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.AliasDto.t} | {:error, Tesla.Env.t}
def create_alias(connection, create_alias_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/aliases")
|> add_param(:body, :body, create_alias_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, %MailSlurpAPI.Model.AliasDto{}}
])
end
@doc """
Delete an email alias
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_alias(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_alias(connection, alias_id, _opts \\ []) do
%{}
|> method(:delete)
|> url("/aliases/#{alias_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Get an email alias
Get an email alias by ID
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.AliasDto{}} on success
{:error, info} on failure
"""
@spec get_alias(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.AliasDto.t} | {:error, Tesla.Env.t}
def get_alias(connection, alias_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/aliases/#{alias_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.AliasDto{}}
])
end
@doc """
Get emails for an alias
Get paginated emails for an alias by ID
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index alias email list pagination
- :size (integer()): Optional page size alias email list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :since (DateTime.t): Optional filter by sent after given date time
- :before (DateTime.t): Optional filter by sent before given date time
## Returns
{:ok, %MailSlurpAPI.Model.PageEmailProjection{}} on success
{:error, info} on failure
"""
@spec get_alias_emails(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageEmailProjection.t} | {:error, Tesla.Env.t}
def get_alias_emails(connection, alias_id, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/aliases/#{alias_id}/emails")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageEmailProjection{}}
])
end
@doc """
Get threads created for an alias
Returns threads created for an email alias in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in thread list pagination
- :size (integer()): Optional page size in thread list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :since (DateTime.t): Optional filter by sent after given date time
- :before (DateTime.t): Optional filter by sent before given date time
## Returns
{:ok, %MailSlurpAPI.Model.PageThreadProjection{}} on success
{:error, info} on failure
"""
@spec get_alias_threads(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageThreadProjection.t} | {:error, Tesla.Env.t}
def get_alias_threads(connection, alias_id, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/aliases/#{alias_id}/threads")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageThreadProjection{}}
])
end
@doc """
Get all email aliases you have created
Get all email aliases in paginated form
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in alias list pagination
- :size (integer()): Optional page size in alias 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.PageAlias{}} on success
{:error, info} on failure
"""
@spec get_aliases(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageAlias.t} | {:error, Tesla.Env.t}
def get_aliases(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/aliases")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageAlias{}}
])
end
@doc """
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
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t): ID of the alias that email belongs to
- email_id (String.t): ID of the email that should be replied to
- reply_to_alias_email_options (ReplyToAliasEmailOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.SentEmailDto{}} on success
{:error, info} on failure
"""
@spec reply_to_alias_email(Tesla.Env.client, String.t, String.t, MailSlurpAPI.Model.ReplyToAliasEmailOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.SentEmailDto.t} | {:error, Tesla.Env.t}
def reply_to_alias_email(connection, alias_id, email_id, reply_to_alias_email_options, _opts \\ []) do
%{}
|> method(:put)
|> url("/aliases/#{alias_id}/emails/#{email_id}")
|> add_param(:body, :body, reply_to_alias_email_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.SentEmailDto{}}
])
end
@doc """
Send an email from an alias inbox
Send an email from an alias. Replies to the email will be forwarded to the alias masked email address
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- send_email_options (SendEmailOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.SentEmailDto{}} on success
{:error, info} on failure
"""
@spec send_alias_email(Tesla.Env.client, String.t, MailSlurpAPI.Model.SendEmailOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.SentEmailDto.t} | {:error, Tesla.Env.t}
def send_alias_email(connection, alias_id, send_email_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/aliases/#{alias_id}/emails")
|> add_param(:body, :body, send_email_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.SentEmailDto{}}
])
end
@doc """
Update an email alias
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- alias_id (String.t):
- update_alias_options (UpdateAliasOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.AliasDto{}} on success
{:error, info} on failure
"""
@spec update_alias(Tesla.Env.client, String.t, MailSlurpAPI.Model.UpdateAliasOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.AliasDto.t} | {:error, Tesla.Env.t}
def update_alias(connection, alias_id, update_alias_options, _opts \\ []) do
%{}
|> method(:put)
|> url("/aliases/#{alias_id}")
|> add_param(:body, :body, update_alias_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 202, %MailSlurpAPI.Model.AliasDto{}}
])
end
end