メールAPI

現在、まだ API ラッパーをリリースしていませんが、近い将来リリースする予定です。にメールを送信 api@forwardemail.net 特定のプログラミング言語の API ラッパーがリリースされたときに通知を受け取りたい場合。その間、これらの推奨 HTTP 要求ライブラリをアプリケーションで使用するか、単に使用することができます カール 以下の例のように。

言語図書館
ルビーファラデー
パイソンリクエスト
ジャワOKHttp
PHPがたがた
JavaScriptスーパーエージェント (私たちはメンテナーです)
Node.jsスーパーエージェント (私たちはメンテナーです)
行くnet / http
.NETレストシャープ

現在の HTTP ベース URI パスは次のとおりです。 https://api.forwardemail.net.

すべてのエンドポイントで APIキー リクエストの「ユーザー名」値として設定されます 基本認証 ヘッダ。心配しないでください。これが何かわからない場合は、以下に例を示します。

エラーが発生した場合、APIリクエストの応答本文には詳細なエラーメッセージが含まれます。

コード名前
200OK
400要求の形式が正しくありません
401無許可
403禁じられた
404見つかりません
429リクエストが多すぎます
500内部サーバーエラー
501実装されていません
502悪いゲートウェイ
503サービスは利用できません
504ゲートウェイのタイムアウト
ヒント: 5xx ステータス コードを受け取った場合 (これは発生しないはずです)、次のアドレスまでご連絡ください。 api@forwardemail.net すぐに問題を解決するお手伝いをいたします。

当社のサービスは 25 を超える言語に翻訳されています。すべての API 応答メッセージは、API 要求を行ったユーザーで最後に検出されたロケールに変換されます。カスタムを渡すことでこれをオーバーライドできます Accept-Language ヘッダ。このページの下部にある言語ドロップダウンを使用して、お気軽にお試しください。

ページネーションが利用可能になったときに通知を受け取りたい場合は、メールでお問い合わせください api@forwardemail.net.

ログの取得

弊社の API を使用すると、プログラムでアカウントのログをダウンロードできます。このエンドポイントにリクエストを送信すると、アカウントのすべてのログが処理され、添付ファイルとして電子メールで送信されます (ジップ 圧縮された CSV スプレッドシート ファイル) が完了したら。

これにより、バックグラウンド ジョブを作成できるようになります。 クロンジョブ または弊社の Node.js ジョブ スケジューリング ソフトウェア Bree いつでもログを受信できます。このエンドポイントは以下に限定されることに注意してください。 10 1日あたりのリクエスト。

添付ファイルは小文字形式です email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz 電子メール自体には、取得したログの簡単な概要が含まれています。いつでもログをダウンロードできます。 マイアカウント → ログ

GET /v1/logs/download

クエリ文字列パラメーター必須タイプ説明
domain番号文字列(FQDN)完全修飾ドメイン (「FQDN」) でログをフィルタリングします。これを指定しない場合は、すべてのドメインのすべてのログが取得されます。
q番号ストリング電子メール、ドメイン、エイリアス名、IP アドレス、または日付でログを検索します (M/Y, M/D/YY, M-D, M-D-YY、 また M.D.YY フォーマット)。

リクエストの例:

curl https://api.forwardemail.net/v1/logs/download \
  -u API_TOKEN:

Cron ジョブの例 (毎日午前 0 時):

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download -u API_TOKEN: &>/dev/null

などのサービスが利用できるので注意してください。 Crontab.guru cron ジョブ式の構文を検証します。

Cron ジョブの例 (毎日午前 0 時) 前日のログ付き):

MacOSの場合:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date -v-1d -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Linux および Ubuntu の場合:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date --date "-1 days" -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

アカウントを作成する

POST /v1/account

ボディパラメータ必須タイプ説明
emailはい文字列(メール)電子メールアドレス
passwordはいストリングパスワード

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

アカウントを取得する

GET /v1/account

リクエストの例:

curl https://api.forwardemail.net/v1/account \
  -u API_TOKEN:

アカウントを更新する

PUT /v1/account

ボディパラメータ必須タイプ説明
email番号文字列(メール)電子メールアドレス
given_name番号ストリングファーストネーム
family_name番号ストリング苗字
avatar_url番号文字列(URL)アバター画像へのリンク

リクエストの例:

curl -X PUT https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

ドメインの設定手順に従っていることを確認してください。これらの手順は次の場所にあります。 「マイアカウント」→「ドメイン」→「設定」→「アウトバウンドSMTP構成」。ドメインでアウトバウンド SMTP を送信するには、DKIM、Return-Path、および DMARC がセットアップされていることを確認する必要があります。

メール制限を取得する

これは、次の内容を含むJSONオブジェクトを返すシンプルなエンドポイントです。 countlimit アカウントごとの毎日の SMTP 送信メッセージの数。

GET /v1/emails/limit

リクエストの例:

curl https://api.forwardemail.net/v1/emails/limit \
  -u API_TOKEN:

メールの一覧表示

このエンドポイントは、作成済みの電子メールを返さないことに注意してください。 message, headers, accepted、 または rejectedErrors プロパティ。

これらのプロパティとその値を返すには、 電子メールを取得する 電子メール ID を持つエンドポイント。

このエンドポイントは最大でも戻ります 50 一度に結果が得られます。複数のページをクエリする場合は、 ?page=NUMBER どこ NUMBER は整数です。例: ?page=1.

GET /v1/emails

クエリ文字列パラメーター必須タイプ説明
q番号文字列(RegExpをサポート)メタデータによるメールの検索
domain番号文字列(RegExpをサポート)ドメイン名でメールを検索する
page番号番号結果を返すページ (デフォルトは 1)
`限界番号番号返されるページごとの結果の数 (デフォルトは 50 – 最大値は 50 そして最小値は 10)

リクエストの例:

curl https://api.forwardemail.net/v1/emails \
  -u API_TOKEN:

メールの作成

電子メールを作成するための API は、Nodemailer のメッセージ オプション構成からインスピレーションを受け、活用しています。までお待ちください。 ノードメーラーのメッセージ構成 以下のすべてのボディパラメータについて。

例外として注意してください。 envelopedkim (これらは自動的に設定されるため)、すべての Nodemailer オプションがサポートされています。自動で設定します disableFileAccessdisableUrlAccess のオプション true セキュリティ目的のため。

次の単一オプションを渡す必要があります。 raw ヘッダーを含む生の完全なメール または 以下の個々の本体パラメーター オプションを渡します。

POST /v1/emails

ボディパラメータ必須タイプ説明
from番号文字列(メール)送信者の電子メール アドレス (ドメインのエイリアスとして存在する必要があります)。
to番号文字列または配列「To」ヘッダーの受信者のカンマ区切りリストまたは配列。
cc番号文字列または配列「Cc」ヘッダーの受信者のカンマ区切りリストまたは配列。
bcc番号文字列または配列「Bcc」ヘッダーの受信者のカンマ区切りリストまたは配列。
subject番号ストリングメールの件名。
text番号文字列またはバッファメッセージのプレーンテキスト バージョン。
html番号文字列またはバッファメッセージの HTML バージョン。
attachments番号配列添付ファイル オブジェクトの配列 (「 Nodemailer の共通フィールド).
sender番号ストリング「Sender」ヘッダーの電子メール アドレス (「送信者」を参照) Nodemailer のより高度なフィールド).
replyTo番号ストリング「Reply-To」ヘッダーの電子メール アドレス。
inReplyTo番号ストリングメッセージの返信先のメッセージ ID。
references番号文字列または配列スペース区切りのリストまたはメッセージ ID の配列。
attachDataUrls番号ブールもしも true その後変換します data: メッセージの HTML コンテンツ内の画像を埋め込み添付ファイルに追加します。
watchHtml番号ストリングApple Watch 固有の HTML バージョンのメッセージ (Nodemailerのドキュメントによると、最新の時計ではこれを設定する必要はありません)。
amp番号ストリングメッセージの AMP4EMAIL 固有の HTML バージョン (「 ノードメーラーの例).
icalEvent番号物体代替メッセージ コンテンツとして使用する iCalendar イベント (「 Nodemailer のカレンダー イベント).
alternatives番号配列代替メッセージ コンテンツの配列 (「 Nodemailer の代替コンテンツ).
encoding番号ストリングテキストおよび HTML 文字列のエンコーディング (デフォルトは "utf-8"、ただしサポート "hex""base64" エンコード値も同様です)。
raw番号文字列またはバッファ使用するカスタム生成された RFC822 形式のメッセージ (Nodemailer によって生成されたメッセージの代わりに – を参照) Nodemailerのカスタムソース).
textEncoding番号ストリングテキスト値に強制的に使用されるエンコーディング ( "quoted-printable" または "base64")。デフォルト値は、検出された最も近い値です (ASCII を使用する場合) "quoted-printable").
priority番号ストリング電子メールの優先レベル (次のいずれかです) "high", "normal" (デフォルト)、または "low")。の値に注意してください。 "normal" 優先ヘッダーを設定しません (これがデフォルトの動作です)。の値の場合 "high" または "low" が設定されている場合、 X-Priority, X-MSMail-Priority、 と Importance ヘッダー それに応じて設定されます.
headers番号オブジェクトまたは配列設定する追加のヘッダー フィールドのオブジェクトまたは配列 (「 Nodemailer のカスタムヘッダー).
messageId番号ストリング「Message-ID」ヘッダーのオプションの Message-ID 値 (設定されていない場合は、デフォルト値が自動的に作成されます。値は指定する必要があることに注意してください) RFC2822仕様に準拠する).
date番号文字列または日付解析後に Date ヘッダーが見つからない場合に使用されるオプションの Date 値。それ以外の場合は、設定されていない場合は現在の UTC 文字列が使用されます。日付ヘッダーには、現在時刻より 30 日以上前の日付を指定することはできません。
list番号物体オプションのオブジェクト List-* ヘッダー (を参照) Nodemailerのリストヘッダー).

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "raw=`cat file.eml`"

電子メールを取得する

GET /v1/emails/:id

リクエストの例:

curl https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

メールを削除する

電子メールを削除すると、ステータスが次のように設定されます。 "rejected" 現在のステータスが次のいずれかの場合にのみ (その後キュー内で処理されません) "pending", "queued"、 また "deferred"。電子メールは、作成および/または送信されてから 30 日後に自動的に削除される場合があります。そのため、送信 SMTP 電子メールのコピーをクライアント、データベース、またはアプリケーションに保存しておく必要があります。必要に応じて、データベース内の電子メール ID 値を参照できます。この値は両方から返されます。 メールの作成電子メールを取得する エンドポイント。

DELETE /v1/emails/:id

リクエストの例:

curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

ヒント: ドメイン名を持つドメイン エンドポイント /v1/domains/:domain_name それらのパスはドメインの ID と交換可能であるため :domain_id.これは、ドメインを次のいずれかで参照できることを意味します。 name または id 価値。

ドメインの一覧表示

GET /v1/domains

クエリ文字列パラメーター必須タイプ説明
q番号文字列(RegExpをサポート)名前でドメインを検索
name番号文字列(RegExpをサポート)名前でドメインを検索

リクエストの例:

curl https://api.forwardemail.net/v1/domains \
  -u API_TOKEN:

ドメインを作成

POST /v1/domains

ボディパラメータ必須タイプ説明
domainはい文字列(FQDNまたはIP)完全修飾ドメイン名(「FQDN」)またはIPアドレス
plan番号文字列(列挙可能)プラン タイプ ( "free", "enhanced_protection"、 また "team"、デフォルトは "free" またはユーザーの現在の有料プランの場合)
catchall番号文字列(区切られた電子メールアドレス)またはブール値デフォルトのキャッチオール エイリアスを作成します。デフォルトは true (もしも true API ユーザーのメールアドレスを受信者として使用します。 false キャッチオールは作成されません)。文字列が渡された場合、それは受信者として使用する電子メール アドレスの区切りリストです (改行、スペース、および/またはコンマで区切られています)。
has_adult_content_protection番号ブールこのドメインでスパムスキャナーのアダルトコンテンツ保護を有効にするかどうか
has_phishing_protection番号ブールこのドメインでスパムスキャナーのフィッシング保護を有効にするかどうか
has_executable_protection番号ブールこのドメインでスパムスキャナーの実行可能保護を有効にするかどうか
has_virus_protection番号ブールこのドメインでスパムスキャナーウイルス保護を有効にするかどうか
has_recipient_verification番号ブールメールが流れるためにエイリアス受信者にメール確認リンクをクリックするように要求するかどうかのグローバルドメインのデフォルト
ignore_mx_check番号ブール検証のためにドメインの MX レコード チェックを無視するかどうか。これは主に、高度な MX 交換構成ルールを持ち、既存の MX 交換を維持して当社のものに転送する必要があるユーザー向けです。
retention_days番号番号間の整数 030 これは、送信 SMTP 電子メールが正常に配信されたか、永続的にエラーが発生した後に保存する保存日数に相当します。デフォルトは 0これは、セキュリティのために、送信 SMTP 電子メールがすぐに削除され、編集されることを意味します。

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/domains \
  -u API_TOKEN: \
  -d domain=example.com \
  -d plan=free

ドメインを取得

GET /v1/domains/example.com

リクエストの例:

curl https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

ドメインレコードを確認する

GET /v1/domains/example.com/verify-records

リクエストの例:

curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
  -u API_TOKEN:

ドメインを更新

PUT /v1/domains/example.com

ボディパラメータ必須タイプ説明
smtp_port番号文字列または数値SMTP 転送用に構成するカスタム ポート (デフォルトは "25")
has_adult_content_protection番号ブールこのドメインでスパムスキャナーのアダルトコンテンツ保護を有効にするかどうか
has_phishing_protection番号ブールこのドメインでスパムスキャナーのフィッシング保護を有効にするかどうか
has_executable_protection番号ブールこのドメインでスパムスキャナーの実行可能保護を有効にするかどうか
has_virus_protection番号ブールこのドメインでスパムスキャナーウイルス保護を有効にするかどうか
has_recipient_verification番号ブールメールが流れるためにエイリアス受信者にメール確認リンクをクリックするように要求するかどうかのグローバルドメインのデフォルト
ignore_mx_check番号ブール検証のためにドメインの MX レコード チェックを無視するかどうか。これは主に、高度な MX 交換構成ルールを持ち、既存の MX 交換を維持して当社のものに転送する必要があるユーザー向けです。
retention_days番号番号間の整数 030 これは、送信 SMTP 電子メールが正常に配信されたか、永続的にエラーが発生した後に保存する保存日数に相当します。デフォルトは 0これは、セキュリティのために、送信 SMTP 電子メールがすぐに削除され、編集されることを意味します。

リクエストの例:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

ドメインを削除

DELETE /v1/domains/:domain_name

リクエストの例:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
  -u API_TOKEN:

ドメインへの招待を受け入れる

GET /v1/domains/:domain_name/invites

リクエストの例:

curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

ドメイン招待を作成

POST /v1/domains/example.com/invites

ボディパラメータ必須タイプ説明
emailはい文字列(メール)ドメインメンバーリストに招待するメールアドレス
groupはい文字列(列挙可能)ユーザーをドメイン メンバーシップに追加するグループ (次のいずれかにすることができます) "admin" または "user")

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
  -u API_TOKEN: \
  -d "email=user%40gmail.com" \
  -d group=admin

ドメインへの招待を削除

DELETE /v1/domains/:domain_name/invites

ボディパラメータ必須タイプ説明
emailはい文字列(メール)ドメインメンバーリストから削除するメールアドレス

リクエストの例:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

ドメインメンバーを更新する

PUT /v1/domains/example.com/members/:member_id

ボディパラメータ必須タイプ説明
groupはい文字列(列挙可能)ユーザーをドメイン メンバーシップに更新するためのグループ (次のいずれかにすることができます) "admin" または "user")

リクエストの例:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
  -u API_TOKEN:

ドメインメンバーを削除

DELETE /v1/domains/:domain_name/members/:member_id

リクエストの例:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
  -u API_TOKEN:

エイリアスパスワードを生成する

指示をメールで送信しない場合、ユーザー名とパスワードは成功したリクエストのJSONレスポンス本文に次の形式で含まれます。 { username: 'alias@yourdomain.com', password: 'some-generated-password' }.

POST /v1/domains/example.com/aliases/:alias_id/generate-password

ボディパラメータ必須タイプ説明
new_password番号ストリングエイリアスに使用するカスタムの新しいパスワード。ランダムに生成された強力なパスワードを取得する場合は、これを空白のままにするか、API リクエスト本文から完全に省略することができます。
password番号ストリング既存のIMAPメールボックスストレージを削除せずにパスワードを変更するには、エイリアスの既存のパスワード( is_override 既存のパスワードがなくなった場合は、以下のオプションを選択してください。
is_override番号ブールUSE WITH CAUTION: これにより、既存のエイリアスのパスワードとデータベースが完全に上書きされ、既存の IMAP ストレージが完全に削除され、エイリアスの SQLite 電子メール データベースが完全にリセットされます。このエイリアスに既存のメールボックスが接続されている場合は、可能であればバックアップを作成してください。
emailed_instructions番号ストリングエイリアスのパスワードとセットアップ手順を送信するメール アドレス。

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id/generate-password \
  -u API_TOKEN:

ドメインエイリアスを一覧表示する

GET /v1/domains/example.com/aliases

クエリ文字列パラメーター必須タイプ説明
q番号文字列(RegExpをサポート)名前、ラベル、または受信者でドメイン内のエイリアスを検索する
name番号文字列(RegExpをサポート)ドメイン内のエイリアスを名前で検索する
recipient番号文字列(RegExpをサポート)受信者によるドメイン内のエイリアスの検索

リクエストの例:

curl https://api.forwardemail.net/v1/domains/example.com/aliases \
  -u API_TOKEN:

新しいドメインエイリアスを作成する

POST /v1/domains/example.com/aliases

ボディパラメータ必須タイプ説明
name番号ストリングエイリアス名 (提供されない場合、または空白の場合、ランダムなエイリアスが生成されます)
recipients番号文字列または配列受信者のリスト (改行/スペース/カンマで区切られた有効な電子メール アドレス、完全修飾ドメイン名 (「FQDN」)、IP アドレス、および/または Webhook URL の文字列または配列である必要があります。指定されていないか空の場合配列の場合、API リクエストを行うユーザーの電子メールが受信者として設定されます)
description番号ストリングエイリアスの説明
labels番号文字列または配列ラベルのリスト(改行/スペース/カンマ区切りの文字列または配列である必要があります)
has_recipient_verification番号ブール電子メールが通過するために受信者に電子メール検証リンクをクリックするよう要求します (リクエスト本文で明示的に設定されていない場合は、デフォルトでドメインの設定が適用されます)
is_enabled番号ブールこのエイリアスを有効にするか無効にするか (無効にした場合、電子メールはどこにもルーティングされず、成功ステータス コードが返されます)。値が渡されると、次を使用してブール値に変換されます。 ブール値)
has_imap番号ブールこのエイリアスの IMAP ストレージを有効にするか無効にするか (無効にした場合、受信した受信メールは保存されません) IMAPストレージ。値が渡されると、次を使用してブール値に変換されます。 ブール値)
has_pgp番号ブール有効にするか無効にするか OpenPGP暗号化 のために IMAP/POP3暗号化メールストレージ エイリアスを使用して public_key.
public_key番号ストリングASCII Armor 形式の OpenPGP 公開キー (ここをクリックして例を表示します;例えばGPGキー support@forwardemail.net)。これは、次の場合にのみ適用されます has_pgp に設定 true. エンドツーエンド暗号化について詳しくは、FAQ をご覧ください。.

リクエストの例:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
  -u API_TOKEN:

ドメインエイリアスを取得する

ドメイン エイリアスは、その id またはその name 価値。

GET /v1/domains/:domain_name/aliases/:alias_id

リクエストの例:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

GET /v1/domains/:domain_name/aliases/:alias_name

リクエストの例:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
  -u API_TOKEN:

ドメインエイリアスを更新する

PUT /v1/domains/example.com/aliases/:alias_id

ボディパラメータ必須タイプ説明
name番号ストリングエイリアス名
recipients番号文字列または配列受信者のリスト(改行/スペース/カンマ区切りの有効な電子メールアドレスの文字列または配列、完全修飾ドメイン名(「FQDN」)、IPアドレス、Webhook URL、またはその両方である必要があります)
description番号ストリングエイリアスの説明
labels番号文字列または配列ラベルのリスト(改行/スペース/カンマ区切りの文字列または配列である必要があります)
has_recipient_verification番号ブール電子メールが通過するために受信者に電子メール検証リンクをクリックするよう要求します (リクエスト本文で明示的に設定されていない場合は、デフォルトでドメインの設定が適用されます)
is_enabled番号ブールこのエイリアスを有効にするか無効にするか (無効にした場合、電子メールはどこにもルーティングされず、成功ステータス コードが返されます)
has_imap番号ブールこのエイリアスの IMAP ストレージを有効にするか無効にするか (無効にした場合、受信した受信メールは保存されません) IMAPストレージ。値が渡されると、次を使用してブール値に変換されます。 ブール値)
has_pgp番号ブール有効にするか無効にするか OpenPGP暗号化 のために IMAP/POP3暗号化メールストレージ エイリアスを使用して public_key.
public_key番号ストリングASCII Armor 形式の OpenPGP 公開キー (ここをクリックして例を表示します;例えばGPGキー support@forwardemail.net)。これは、次の場合にのみ適用されます has_pgp に設定 true. エンドツーエンド暗号化について詳しくは、FAQ をご覧ください。.

リクエストの例:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
  -u API_TOKEN:

ドメインエイリアスを削除

DELETE /v1/domains/:domain_name/aliases/:alias_id

リクエストの例:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN: