Packages

Elixir client for the AgentMail API

Current section

Files

Jump to
agentmail lib agentmail domains.ex
Raw

lib/agentmail/domains.ex

defmodule Agentmail.Domains do
@moduledoc """
Manage custom domains for sending email.
## Examples
client = Agentmail.client()
{:ok, domain} = Agentmail.Domains.create(client, %{
domain: "mail.myapp.com",
feedback_enabled: true
})
{:ok, _} = Agentmail.Domains.verify(client, domain["domain_id"])
"""
import Agentmail.Request
@doc "Creates a custom domain."
def create(%Agentmail{} = client, params) do
request(client, :post, "/domains", params)
end
@doc "Lists all domains."
def list(%Agentmail{} = client) do
request(client, :get, "/domains")
end
@doc "Gets a specific domain."
def get(%Agentmail{} = client, domain_id) do
request(client, :get, "/domains/#{domain_id}")
end
@doc "Gets DNS zone file for a domain."
def zone_file(%Agentmail{} = client, domain_id) do
request(client, :get, "/domains/#{domain_id}/zone-file")
end
@doc "Triggers domain verification."
def verify(%Agentmail{} = client, domain_id) do
request(client, :post, "/domains/#{domain_id}/verify")
end
@doc "Deletes a domain."
def delete(%Agentmail{} = client, domain_id) do
request(client, :delete, "/domains/#{domain_id}")
end
end