MillionSend.Emails (MillionSend v0.2.0)

Copy Markdown View Source

Send, fetch and cancel emails.

Input maps use snake_case keys (:reply_to, :scheduled_at); :to, :cc, :bcc and :reply_to take a string or a list of strings.

MillionSend.Emails.send(%{
  from: "Acme <onboarding@acme.dev>",
  to: "delivered@resend.dev",
  subject: "Hello",
  html: "<strong>it works</strong>"
})

Summary

Functions

POST /emails/:id/cancel — only scheduled, unsent emails.

POST /emails. Accepts an optional leading client and an optional idempotency_key: in the trailing options.

POST /emails/batch — 1..100 emails in one call; supports idempotency_key:.

Functions

cancel(client \\ MillionSend.client(), id)

@spec cancel(MillionSend.Client.t(), String.t()) ::
  {:ok, MillionSend.Emails.Email.t()} | {:error, MillionSend.Error.t()}

POST /emails/:id/cancel — only scheduled, unsent emails.

get(client \\ MillionSend.client(), id)

@spec get(MillionSend.Client.t(), String.t()) ::
  {:ok, MillionSend.Emails.Email.t()} | {:error, MillionSend.Error.t()}

GET /emails/:id

send(params)

@spec send(map()) ::
  {:ok, MillionSend.Emails.Email.t()} | {:error, MillionSend.Error.t()}

POST /emails. Accepts an optional leading client and an optional idempotency_key: in the trailing options.

send(client, params)

@spec send(MillionSend.Client.t() | map(), map() | keyword()) ::
  {:ok, MillionSend.Emails.Email.t()} | {:error, MillionSend.Error.t()}

send(client, params, opts)

@spec send(MillionSend.Client.t(), map(), keyword()) ::
  {:ok, MillionSend.Emails.Email.t()} | {:error, MillionSend.Error.t()}

send_batch(list)

@spec send_batch([map()]) ::
  {:ok, [MillionSend.Emails.Email.t()]} | {:error, MillionSend.Error.t()}

POST /emails/batch — 1..100 emails in one call; supports idempotency_key:.

send_batch(client, list)

@spec send_batch(MillionSend.Client.t() | [map()], [map()] | keyword()) ::
  {:ok, [MillionSend.Emails.Email.t()]} | {:error, MillionSend.Error.t()}

send_batch(client, list, opts)

@spec send_batch(MillionSend.Client.t(), [map()], keyword()) ::
  {:ok, [MillionSend.Emails.Email.t()]} | {:error, MillionSend.Error.t()}