Email API

Saat ini kami belum merilis pembungkus API apa pun, tetapi kami berencana untuk melakukannya dalam waktu dekat. Kirim email ke api@forwardemail.net jika Anda ingin diberitahu saat pembungkus API untuk bahasa pemrograman tertentu dirilis. Sementara itu, Anda dapat menggunakan perpustakaan permintaan HTTP yang direkomendasikan ini dalam aplikasi Anda, atau cukup gunakan curl seperti pada contoh di bawah ini.

Bahasa Perpustakaan
Ruby Faraday
Python requests
Java OkHttp
PHP guzzle
JavaScript superagent (kami adalah pemelihara)
Node.js superagent (kami adalah pemelihara)
Go net/http
.NET RestSharp

Path URI dasar HTTP saat ini adalah: https://api.forwardemail.net.

Semua endpoint memerlukan autentikasi menggunakan Basic Authorization. Kami mendukung dua metode autentikasi:

Tetapkan API key Anda sebagai nilai "username" dengan password kosong:

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

Perhatikan tanda titik dua (:) setelah token API – ini menunjukkan password kosong dalam format Basic Auth.

Autentikasi Kredensial Alias (Untuk email keluar)

Endpoint Create outbound SMTP email juga mendukung autentikasi menggunakan alamat email alias Anda dan password alias yang dihasilkan:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u "alias@yourdomain.com:your_generated_password" \
  -d "to=recipient@example.com" \
  -d "subject=Hello" \
  -d "text=Test email"

Metode ini berguna saat mengirim email dari aplikasi yang sudah menggunakan kredensial SMTP dan membuat migrasi dari SMTP ke API kami menjadi mulus.

Endpoint Khusus Alias

Endpoint Alias Contacts, Alias Calendars, Alias Messages, dan Alias Folders memerlukan kredensial alias dan tidak mendukung autentikasi token API.

Jangan khawatir – contoh diberikan di bawah ini jika Anda tidak yakin apa itu.

Jika terjadi kesalahan, isi respons dari permintaan API akan berisi pesan kesalahan yang rinci.

Kode Nama
200 OK
400 Permintaan Buruk
401 Tidak Terotorisasi
403 Terlarang
404 Tidak Ditemukan
429 Terlalu Banyak Permintaan
500 Kesalahan Server Internal
501 Belum Diimplementasikan
502 Gerbang Buruk
503 Layanan Tidak Tersedia
504 Waktu Tunggu Gerbang Habis

Tip

Jika Anda menerima kode status 5xx (yang seharusnya tidak terjadi), silakan hubungi kami di api@forwardemail.net dan kami akan membantu Anda menyelesaikan masalah Anda segera.

Layanan kami diterjemahkan ke lebih dari 25 bahasa berbeda. Semua pesan respons API diterjemahkan ke lokal terakhir yang terdeteksi dari pengguna yang melakukan permintaan API. Anda dapat mengubah ini dengan mengirimkan header Accept-Language khusus. Silakan coba menggunakan pilihan bahasa di bagian bawah halaman ini.

Note

Mulai 1 November 2024, endpoint API untuk List domains dan List domain aliases akan default ke 1000 hasil maksimal per halaman. Jika Anda ingin menggunakan perilaku ini lebih awal, Anda dapat menambahkan ?paginate=true sebagai parameter querystring tambahan ke URL endpoint.

Paginasi didukung oleh semua endpoint API yang menampilkan daftar hasil.

Cukup berikan properti querystring page (dan opsional limit).

Properti page harus berupa angka yang lebih besar atau sama dengan 1. Jika Anda memberikan limit (juga angka), maka nilai minimum adalah 10 dan maksimum adalah 50 (kecuali disebutkan lain).

Parameter Querystring Wajib Tipe Deskripsi
page Tidak Number Halaman hasil yang akan dikembalikan. Jika tidak ditentukan, nilai page akan menjadi 1. Harus berupa angka yang lebih besar atau sama dengan 1.
limit Tidak Number Jumlah hasil yang dikembalikan per halaman. Default 10 jika tidak ditentukan. Harus berupa angka yang lebih besar atau sama dengan 1, dan kurang dari atau sama dengan 50.
Untuk menentukan apakah masih ada hasil lain yang tersedia atau tidak, kami menyediakan header respons HTTP berikut (yang dapat Anda parsing untuk melakukan paginasi secara programatis):
HTTP Response Header Contoh Deskripsi
X-Page-Count X-Page-Count: 3 Jumlah total halaman yang tersedia.
X-Page-Current X-Page-Current: 1 Halaman hasil saat ini yang dikembalikan (misalnya berdasarkan parameter querystring page).
X-Page-Size X-Page-Size: 10 Jumlah total hasil dalam halaman yang dikembalikan (misalnya berdasarkan parameter querystring limit dan hasil aktual yang dikembalikan).
X-Item-Count X-Item-Count: 30 Jumlah total item yang tersedia di semua halaman.
Link Link: <https://api.forwardemail.net/v1/emails?page=1>; rel="prev", <https://api.forwardemail.net/v1/emails?page=3>; rel="next", <https://api.forwardemail.net/v1/emails?page=3; rel="last", https://api.forwardemail.net/v1/emails?page=1; rel="first" Kami menyediakan header respons HTTP Link yang dapat Anda parsing seperti yang ditunjukkan dalam contoh. Ini mirip dengan GitHub (misalnya tidak semua nilai akan disediakan jika tidak relevan atau tersedia, misalnya "next" tidak akan disediakan jika tidak ada halaman berikutnya).

Contoh Permintaan:

curl https://api.forwardemail.net/v1/domains/example.com/aliases?page=2&pagination=true \
  -u API_TOKEN:

Mengambil logs

API kami secara programatik memungkinkan Anda mengunduh logs untuk akun Anda. Mengirim permintaan ke endpoint ini akan memproses semua logs untuk akun Anda dan mengirimkannya melalui email sebagai lampiran (file spreadsheet CSV terkompresi Gzip) setelah selesai.

Ini memungkinkan Anda membuat pekerjaan latar belakang dengan Cron job atau menggunakan perangkat lunak penjadwalan pekerjaan Node.js Bree untuk menerima logs kapan pun Anda inginkan. Perlu dicatat bahwa endpoint ini dibatasi hingga 10 permintaan per hari.

Lampiran adalah bentuk huruf kecil dari email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz dan email itu sendiri berisi ringkasan singkat dari logs yang diambil. Anda juga dapat mengunduh logs kapan saja dari Akun Saya → Logs

GET /v1/logs/download

Parameter Querystring Wajib Tipe Deskripsi
domain Tidak String (FQDN) Memfilter logs berdasarkan domain yang sepenuhnya memenuhi syarat ("FQDN"). Jika Anda tidak memberikan ini maka semua logs dari semua domain akan diambil.
q Tidak String Mencari logs berdasarkan email, domain, nama alias, alamat IP, atau tanggal (format M/Y, M/D/YY, M-D, M-D-YY, atau M.D.YY).
bounce_category Tidak String Mencari logs berdasarkan kategori bounce tertentu (misalnya blocklist).
response_code Tidak Number Mencari logs berdasarkan kode respons error tertentu (misalnya 421 atau 550).

Contoh Permintaan:

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

Contoh Cron job (pada tengah malam setiap hari):

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

Perlu dicatat bahwa Anda dapat menggunakan layanan seperti Crontab.guru untuk memvalidasi sintaks ekspresi cron job Anda.

Contoh Cron job (pada tengah malam setiap hari dan dengan logs untuk hari sebelumnya):

Untuk 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

Untuk Linux dan 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

Membuat akun

POST /v1/account

Parameter Body Wajib Tipe Deskripsi
email Ya String (Email) Alamat email
password Ya String Kata sandi

Contoh Permintaan:

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

Mengambil akun

GET /v1/account

Contoh Permintaan:

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

Memperbarui akun

PUT /v1/account

Parameter Body Wajib Tipe Deskripsi
email Tidak String (Email) Alamat email
given_name Tidak String Nama depan
family_name Tidak String Nama belakang
avatar_url Tidak String (URL) Tautan ke gambar avatar

Contoh Permintaan:

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

Note

Berbeda dengan endpoint API lainnya, ini memerlukan Autentikasi "username" yang sama dengan nama pengguna alias dan "password" yang sama dengan kata sandi yang dihasilkan alias sebagai header Otorisasi Dasar (Basic Authorization). [!WARNING] Bagian endpoint ini masih dalam proses pengerjaan dan diharapkan akan dirilis pada tahun 2024. Sementara itu, silakan gunakan klien IMAP dari dropdown "Apps" di navigasi situs web kami.

Daftar kontak

GET /v1/contacts

Segera hadir

Buat kontak

POST /v1/contacts

Segera hadir

Ambil kontak

GET /v1/contacts/:id

Segera hadir

Perbarui kontak

PUT /v1/contacts/:id

Segera hadir

Hapus kontak

DELETE /v1/contacts/:id

Segera hadir

Note

Berbeda dengan endpoint API lainnya, ini memerlukan Authentication "username" yang sama dengan username alias dan "password" yang sama dengan password alias yang dihasilkan sebagai header Basic Authorization.

Warning

Bagian endpoint ini masih dalam proses pengerjaan dan diharapkan akan dirilis pada tahun 2024. Sementara itu, silakan gunakan klien IMAP dari dropdown "Apps" di navigasi situs web kami.

Daftar kalender

GET /v1/calendars

Segera hadir

Buat kalender

POST /v1/calendars

Segera hadir

Ambil kalender

GET /v1/calendars/:id

Segera hadir

Perbarui kalender

PUT /v1/calendars/:id

Segera hadir

Hapus kalender

DELETE /v1/calendars/:id

Segera hadir

Note

Berbeda dengan endpoint API lainnya, ini memerlukan Authentication "username" yang sama dengan username alias dan "password" yang sama dengan password alias yang dihasilkan sebagai header Basic Authorization.

Warning

Bagian endpoint ini masih dalam proses pengerjaan dan diharapkan akan dirilis pada tahun 2024. Sementara itu, silakan gunakan klien IMAP dari dropdown "Apps" di navigasi situs web kami.

Pastikan Anda telah mengikuti instruksi pengaturan untuk domain Anda.

Instruksi ini dapat ditemukan di bagian FAQ kami Apakah Anda mendukung penerimaan email dengan IMAP?.

Daftar dan cari pesan

GET /v1/messages

Segera hadir

Buat pesan

Note

Ini TIDAK akan mengirim email – ini hanya akan menambahkan pesan ke folder kotak surat Anda (misalnya ini mirip dengan perintah IMAP APPEND). Jika Anda ingin mengirim email, lihat Buat email SMTP keluar di bawah. Setelah membuat email SMTP keluar, Anda dapat menambahkan salinannya menggunakan endpoint ini ke kotak surat alias Anda untuk tujuan penyimpanan.

POST /v1/messages

Segera hadir

Ambil pesan

GET /v1/messages/:id

Segera hadir

Perbarui pesan

PUT /v1/messages/:id

Segera hadir

Hapus pesan

DELETE /v1/messages:id

Segera hadir

Tip

Endpoint folder dengan path folder /v1/folders/:path sebagai endpoint mereka dapat dipertukarkan dengan ID folder :id. Ini berarti Anda dapat merujuk folder dengan nilai path atau id.

Warning

Bagian endpoint ini masih dalam proses pengerjaan dan diharapkan akan dirilis pada tahun 2024. Sementara itu, silakan gunakan klien IMAP dari dropdown "Apps" di navigasi situs web kami.

Daftar folder

GET /v1/folders

Segera hadir

Buat folder

POST /v1/folders

Segera hadir

Ambil folder

GET /v1/folders/:id

Segera hadir

Perbarui folder

PUT /v1/folders/:id

Segera hadir

Hapus folder

DELETE /v1/folders/:id

Segera hadir

Salin folder

POST /v1/folders/:id/copy

Segera hadir

Pastikan Anda telah mengikuti instruksi pengaturan untuk domain Anda.

Instruksi ini dapat ditemukan di Akun Saya → Domain → Pengaturan → Konfigurasi SMTP Keluar. Anda perlu memastikan pengaturan DKIM, Return-Path, dan DMARC untuk pengiriman SMTP keluar dengan domain Anda.

Dapatkan batas email SMTP keluar

Ini adalah endpoint sederhana yang mengembalikan objek JSON yang berisi count dan limit untuk jumlah pesan SMTP keluar harian berdasarkan per akun.

GET /v1/emails/limit

Contoh Permintaan:

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

Daftar email SMTP keluar

Perlu dicatat bahwa endpoint ini tidak mengembalikan nilai properti untuk message, headers, maupun rejectedErrors dari sebuah email.

Untuk mengembalikan properti dan nilainya tersebut, silakan gunakan endpoint Retrieve email dengan ID email.

GET /v1/emails

Parameter Querystring Wajib Tipe Deskripsi
q Tidak String (RegExp didukung) Cari email berdasarkan metadata
domain Tidak String (RegExp didukung) Cari email berdasarkan nama domain
sort Tidak String Urutkan berdasarkan bidang tertentu (awali dengan tanda minus - untuk mengurutkan dalam arah terbalik dari bidang tersebut). Default ke created_at jika tidak diatur.
page Tidak Number Lihat Pagination untuk penjelasan lebih lanjut
limit Tidak Number Lihat Pagination untuk penjelasan lebih lanjut

Contoh Permintaan:

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

Buat email SMTP keluar

API kami untuk membuat email terinspirasi dan memanfaatkan konfigurasi opsi pesan Nodemailer. Silakan merujuk ke konfigurasi pesan Nodemailer untuk semua parameter body di bawah ini.

Perlu dicatat bahwa kecuali envelope dan dkim (karena kami mengaturnya secara otomatis untuk Anda), kami mendukung semua opsi Nodemailer. Kami secara otomatis mengatur opsi disableFileAccess dan disableUrlAccess ke true demi keamanan.

Anda harus mengirimkan opsi tunggal raw dengan email mentah lengkap Anda termasuk header atau mengirimkan opsi parameter body individual di bawah ini.

Endpoint API ini akan secara otomatis mengkodekan emoji untuk Anda jika ditemukan di header (misalnya baris subjek Subject: 🤓 Hello akan dikonversi menjadi Subject: =?UTF-8?Q?=F0=9F=A4=93?= Hello secara otomatis). Tujuan kami adalah membuat API email yang sangat ramah pengembang dan mudah digunakan.

Otentikasi: Endpoint ini mendukung baik otentikasi token API maupun otentikasi kredensial alias. Lihat bagian Authentication di atas untuk detailnya.

POST /v1/emails

Parameter Body Wajib Tipe Deskripsi
from Tidak String (Email) Alamat email pengirim (harus ada sebagai alias dari domain).
to Tidak String atau Array Daftar penerima yang dipisahkan koma atau Array untuk header "To".
cc Tidak String atau Array Daftar penerima yang dipisahkan koma atau Array untuk header "Cc".
bcc Tidak String atau Array Daftar penerima yang dipisahkan koma atau Array untuk header "Bcc".
subject Tidak String Subjek email.
text Tidak String atau Buffer Versi pesan dalam teks biasa.
html Tidak String atau Buffer Versi pesan dalam HTML.
attachments Tidak Array Array objek lampiran (lihat bidang umum Nodemailer).
sender Tidak String Alamat email untuk header "Sender" (lihat bidang lebih lanjut Nodemailer).
replyTo Tidak String Alamat email untuk header "Reply-To".
inReplyTo Tidak String Message-ID yang dibalas oleh pesan ini.
references Tidak String atau Array Daftar Message-ID yang dipisahkan spasi atau Array.
attachDataUrls Tidak Boolean Jika true maka mengonversi gambar data: dalam konten HTML pesan menjadi lampiran yang disematkan.
watchHtml Tidak String Versi HTML khusus Apple Watch dari pesan (menurut dokumentasi Nodemailer, jam tangan terbaru tidak memerlukan ini diatur).
amp Tidak String Versi HTML khusus AMP4EMAIL dari pesan (lihat contoh Nodemailer).
icalEvent Tidak Object Event iCalendar yang digunakan sebagai konten pesan alternatif (lihat event kalender Nodemailer).
alternatives Tidak Array Array konten pesan alternatif (lihat konten alternatif Nodemailer).
encoding Tidak String Encoding untuk string teks dan HTML (default "utf-8", juga mendukung nilai encoding "hex" dan "base64").
raw Tidak String atau Buffer Pesan format RFC822 yang dibuat khusus untuk digunakan (menggantikan yang dibuat oleh Nodemailer – lihat sumber khusus Nodemailer).
textEncoding Tidak String Encoding yang dipaksa digunakan untuk nilai teks (baik "quoted-printable" atau "base64"). Nilai default adalah nilai terdekat yang terdeteksi (untuk ASCII gunakan "quoted-printable").
priority Tidak String Tingkat prioritas untuk email (bisa "high", "normal" (default), atau "low"). Perlu dicatat bahwa nilai "normal" tidak mengatur header prioritas (ini adalah perilaku default). Jika nilai "high" atau "low" diatur, maka header X-Priority, X-MSMail-Priority, dan Importance akan diatur sesuai.
headers Tidak Object atau Array Object atau Array dari field header tambahan yang akan diatur (lihat header khusus Nodemailer).
messageId Tidak String Nilai Message-ID opsional untuk header "Message-ID" (nilai default akan dibuat secara otomatis jika tidak diatur – catatan bahwa nilai harus mematuhi spesifikasi RFC2822).
date Tidak String atau Date Nilai Date opsional yang akan digunakan jika header Date hilang setelah parsing, jika tidak diatur maka string UTC saat ini akan digunakan. Header tanggal tidak boleh lebih dari 30 hari di masa depan dari waktu saat ini.
list Tidak Object Object opsional dari header List-* (lihat header list Nodemailer).

Contoh Permintaan (Token API):

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"

Contoh Permintaan (Kredensial Alias):

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

Contoh Permintaan (Email Mentah):

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

Ambil email SMTP keluar

GET /v1/emails/:id

Contoh Permintaan:

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

Hapus email SMTP keluar

Penghapusan email akan mengatur status menjadi "rejected" (dan selanjutnya tidak memprosesnya dalam antrean) jika dan hanya jika status saat ini adalah salah satu dari "pending", "queued", atau "deferred". Kami dapat menghapus email secara otomatis setelah 30 hari sejak dibuat dan/atau dikirim – oleh karena itu Anda harus menyimpan salinan email SMTP keluar di klien, basis data, atau aplikasi Anda. Anda dapat merujuk nilai ID email kami di basis data Anda jika diinginkan – nilai ini dikembalikan dari kedua endpoint Buat email dan Ambil email.

DELETE /v1/emails/:id

Contoh Permintaan:

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

Tip

Endpoint domain dengan nama domain /v1/domains/:domain_name sebagai endpoint mereka dapat dipertukarkan dengan ID domain :domain_id. Ini berarti Anda dapat merujuk domain baik dengan name atau id.

Daftar domain

Note

Mulai 1 November 2024, endpoint API untuk Daftar domain dan Daftar alias domain akan default ke 1000 hasil maksimal per halaman. Jika Anda ingin memilih perilaku ini lebih awal, Anda dapat menambahkan ?paginate=true sebagai parameter querystring tambahan ke URL untuk query endpoint. Lihat Pagination untuk informasi lebih lanjut.

GET /v1/domains

Parameter Querystring Wajib Tipe Deskripsi
q Tidak String (RegExp didukung) Cari domain berdasarkan nama
name Tidak String (RegExp didukung) Cari domain berdasarkan nama
sort Tidak String Urutkan berdasarkan bidang tertentu (awali dengan tanda minus - untuk mengurutkan dalam arah terbalik dari bidang tersebut). Default ke created_at jika tidak diatur.
page Tidak Number Lihat Pagination untuk informasi lebih lanjut
limit Tidak Number Lihat Pagination untuk informasi lebih lanjut

Contoh Permintaan:

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

Buat domain

POST /v1/domains

Parameter Body Wajib Tipe Deskripsi
domain Ya String (FQDN atau IP) Nama domain lengkap ("FQDN") atau alamat IP
team_domain Tidak String (ID domain atau nama domain; FQDN) Secara otomatis menetapkan domain ini ke tim yang sama dari domain lain. Ini berarti semua anggota dari domain ini akan ditetapkan sebagai anggota tim, dan plan juga akan otomatis disetel ke team. Anda dapat mengaturnya ke "none" jika perlu untuk menonaktifkan secara eksplisit, tapi itu tidak wajib.
plan Tidak String (enumerable) Jenis paket (harus "free", "enhanced_protection", atau "team", default ke "free" atau paket berbayar pengguna saat ini jika ada)
catchall Tidak String (alamat email terpisah) atau Boolean Membuat alias catch-all default, default true (jika true akan menggunakan alamat email pengguna API sebagai penerima, dan jika false tidak akan membuat catch-all). Jika String diberikan, maka itu adalah daftar alamat email yang dipisahkan (dipisah dengan baris baru, spasi, dan/atau koma) sebagai penerima
has_adult_content_protection Tidak Boolean Apakah mengaktifkan perlindungan konten dewasa Spam Scanner pada domain ini
has_phishing_protection Tidak Boolean Apakah mengaktifkan perlindungan phishing Spam Scanner pada domain ini
has_executable_protection Tidak Boolean Apakah mengaktifkan perlindungan executable Spam Scanner pada domain ini
has_virus_protection Tidak Boolean Apakah mengaktifkan perlindungan virus Spam Scanner pada domain ini
has_recipient_verification Tidak Boolean Default global domain untuk apakah penerima alias harus mengklik tautan verifikasi email agar email dapat diteruskan
ignore_mx_check Tidak Boolean Apakah mengabaikan pemeriksaan catatan MX pada domain untuk verifikasi. Ini terutama untuk pengguna yang memiliki aturan konfigurasi pertukaran MX lanjutan dan perlu mempertahankan pertukaran MX mereka yang ada dan meneruskannya ke kami.
retention_days Tidak Number Integer antara 0 dan 30 yang menunjukkan jumlah hari retensi untuk menyimpan email SMTP keluar setelah berhasil dikirim atau mengalami kesalahan permanen. Default 0, yang berarti email SMTP keluar akan segera dihapus dan disunting demi keamanan Anda.
bounce_webhook Tidak String (URL) atau Boolean (false) URL webhook http:// atau https:// pilihan Anda untuk mengirim webhook bounce. Kami akan mengirim permintaan POST ke URL ini dengan informasi kegagalan SMTP keluar (misalnya kegagalan lunak atau keras – sehingga Anda dapat mengelola pelanggan dan mengelola email keluar secara programatik).
max_quota_per_alias Tidak String Kuota maksimum penyimpanan untuk alias pada nama domain ini. Masukkan nilai seperti "1 GB" yang akan diparsing oleh bytes.

Contoh Permintaan:

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

Ambil domain

GET /v1/domains/example.com

Contoh Permintaan:

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

Verifikasi catatan domain

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

Contoh Permintaan:

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

Verifikasi catatan SMTP domain

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

Contoh Permintaan:

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

Daftar kata sandi catch-all domain

GET /v1/domains/example.com/catch-all-passwords

Contoh Permintaan:

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

Buat kata sandi catch-all domain

POST /v1/domains/example.com/catch-all-passwords

Parameter Body Wajib Tipe Deskripsi
new_password Tidak String Kata sandi baru kustom Anda untuk digunakan sebagai kata sandi catch-all domain. Perlu dicatat bahwa Anda dapat membiarkannya kosong atau tidak menyertakannya sama sekali dalam body permintaan API jika ingin mendapatkan kata sandi yang dihasilkan secara acak dan kuat.
description Tidak String Deskripsi hanya untuk tujuan organisasi.

Contoh Permintaan:

curl BASE_URL/v1/domains/example.com/catch-all-passwords \
  -u API_TOKEN:

Hapus kata sandi catch-all domain

DELETE /v1/domains/example.com/catch-all-passwords/:token_id

Contoh Permintaan:

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

Perbarui domain

PUT /v1/domains/example.com

Parameter Body Wajib Tipe Deskripsi
smtp_port Tidak String atau Number Port kustom untuk konfigurasi penerusan SMTP (default adalah "25")
has_adult_content_protection Tidak Boolean Apakah mengaktifkan perlindungan konten dewasa Spam Scanner pada domain ini
has_phishing_protection Tidak Boolean Apakah mengaktifkan perlindungan phishing Spam Scanner pada domain ini
has_executable_protection Tidak Boolean Apakah mengaktifkan perlindungan executable Spam Scanner pada domain ini
has_virus_protection Tidak Boolean Apakah mengaktifkan perlindungan virus Spam Scanner pada domain ini
has_recipient_verification Tidak Boolean Default global domain untuk apakah mengharuskan penerima alias mengklik tautan verifikasi email agar email dapat diteruskan
ignore_mx_check Tidak Boolean Apakah mengabaikan pemeriksaan catatan MX pada domain untuk verifikasi. Ini terutama untuk pengguna yang memiliki aturan konfigurasi pertukaran MX lanjutan dan perlu mempertahankan pertukaran MX mereka yang ada dan meneruskannya ke kami.
retention_days Tidak Number Integer antara 0 dan 30 yang menunjukkan jumlah hari retensi untuk menyimpan email SMTP keluar setelah berhasil dikirim atau terjadi kesalahan permanen. Defaultnya 0, yang berarti email SMTP keluar akan segera dihapus dan disunting demi keamanan Anda.
bounce_webhook Tidak String (URL) atau Boolean (false) URL webhook http:// atau https:// pilihan Anda untuk mengirim webhook bounce. Kami akan mengirim permintaan POST ke URL ini dengan informasi kegagalan SMTP keluar (misalnya kegagalan lunak atau keras – sehingga Anda dapat mengelola pelanggan dan mengelola email keluar secara programatik).
max_quota_per_alias Tidak String Kuota maksimum penyimpanan untuk alias pada nama domain ini. Masukkan nilai seperti "1 GB" yang akan diparsing oleh bytes.

Contoh Permintaan:

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

Hapus domain

DELETE /v1/domains/:domain_name

Contoh Permintaan:

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

Terima undangan domain

GET /v1/domains/:domain_name/invites

Contoh Permintaan:

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

Buat undangan domain

POST /v1/domains/example.com/invites

Parameter Body Wajib Tipe Deskripsi
email Ya String (Email) Alamat email untuk mengundang ke daftar anggota domain
group Ya String (enumerable) Grup untuk menambahkan pengguna ke keanggotaan domain (bisa salah satu dari "admin" atau "user")

Contoh Permintaan:

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

Important

Jika pengguna yang diundang sudah menjadi anggota yang diterima dari domain lain yang juga menjadi anggota admin yang mengundang, maka undangan akan otomatis diterima dan tidak mengirim email.

Hapus undangan domain

DELETE /v1/domains/:domain_name/invites

Parameter Body Wajib Tipe Deskripsi
email Ya String (Email) Alamat email yang akan dihapus dari daftar anggota domain

Contoh Permintaan:

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

Perbarui anggota domain

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

Parameter Body Wajib Tipe Deskripsi
group Ya String (enumerable) Grup untuk memperbarui pengguna ke keanggotaan domain (bisa salah satu dari "admin" atau "user")

Contoh Permintaan:

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

Hapus anggota domain

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

Contoh Permintaan:

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

Buat kata sandi alias

Perlu dicatat bahwa jika Anda tidak mengirim instruksi melalui email, maka nama pengguna dan kata sandi akan ada di dalam body respons JSON dari permintaan yang berhasil dalam format { username: 'alias@yourdomain.com', password: 'some-generated-password' }.

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

Parameter Body Wajib Tipe Deskripsi
new_password Tidak String Kata sandi baru kustom yang ingin Anda gunakan untuk alias. Perlu dicatat bahwa Anda dapat membiarkannya kosong atau tidak menyertakannya sama sekali dalam body permintaan API jika Anda ingin mendapatkan kata sandi yang dihasilkan secara acak dan kuat.
password Tidak String Kata sandi yang ada untuk alias guna mengubah kata sandi tanpa menghapus penyimpanan mailbox IMAP yang ada (lihat opsi is_override di bawah jika Anda tidak lagi memiliki kata sandi yang ada).
is_override Tidak Boolean GUNAKAN DENGAN HATI-HATI: Ini akan menimpa kata sandi alias yang ada dan database sepenuhnya, serta akan menghapus secara permanen penyimpanan IMAP yang ada dan mereset database email SQLite alias sepenuhnya. Harap buat cadangan jika memungkinkan jika Anda memiliki mailbox yang terhubung dengan alias ini.
emailed_instructions Tidak String Alamat email untuk mengirim kata sandi alias dan instruksi pengaturannya.

Contoh Permintaan:

curl -X POST https://api.forwardemail.net/v1/domains/NAMA_DOMAIN/aliases/ID_ALIAS/generate-password \
  -u API_TOKEN:

Daftar alias domain

Note

Mulai 1 November 2024, endpoint API untuk Daftar domain dan Daftar alias domain akan default ke 1000 hasil maksimal per halaman. Jika Anda ingin memilih perilaku ini lebih awal, Anda dapat menambahkan ?paginate=true sebagai parameter querystring tambahan ke URL untuk query endpoint tersebut. Lihat Pagination untuk informasi lebih lanjut.

GET /v1/domains/NAMA_DOMAIN/aliases

Parameter Querystring Wajib Tipe Deskripsi
q Tidak String (RegExp didukung) Cari alias dalam domain berdasarkan nama, label, atau penerima
name Tidak String (RegExp didukung) Cari alias dalam domain berdasarkan nama
recipient Tidak String (RegExp didukung) Cari alias dalam domain berdasarkan penerima
sort Tidak String Urutkan berdasarkan field tertentu (awali dengan tanda minus - untuk mengurutkan secara terbalik). Default ke created_at jika tidak diatur.
page Tidak Number Lihat Pagination untuk informasi lebih lanjut
limit Tidak Number Lihat Pagination untuk informasi lebih lanjut

Contoh Permintaan:

curl https://api.forwardemail.net/v1/domains/NAMA_DOMAIN/aliases?pagination=true \
  -u API_TOKEN:

Buat alias domain baru

POST /v1/domains/NAMA_DOMAIN/aliases

Parameter Body Wajib Tipe Deskripsi
name Tidak String Nama alias (jika tidak diberikan atau kosong, maka alias acak akan dibuat)
recipients Tidak String atau Array Daftar penerima (harus berupa String yang dipisahkan oleh baris baru/spasi/koma atau Array dari alamat email valid, nama domain lengkap ("FQDN"), alamat IP, dan/atau URL webhook – dan jika tidak diberikan atau Array kosong, maka email pengguna yang membuat permintaan API akan diatur sebagai penerima)
description Tidak String Deskripsi alias
labels Tidak String atau Array Daftar label (harus berupa String yang dipisahkan oleh baris baru/spasi/koma atau Array)
has_recipient_verification Tidak Boolean Meminta penerima untuk mengklik tautan verifikasi email agar email dapat diteruskan (default mengikuti pengaturan domain jika tidak diatur secara eksplisit dalam body permintaan)
is_enabled Tidak Boolean Apakah alias ini diaktifkan atau dinonaktifkan (jika dinonaktifkan, email akan diarahkan ke mana pun tapi mengembalikan kode status berhasil). Jika nilai diberikan, akan dikonversi ke boolean menggunakan boolean)
error_code_if_disabled Tidak Number (baik 250, 421, atau 550) Email masuk ke alias ini akan ditolak jika is_enabled adalah false dengan kode 250 (diam-diam tidak dikirim ke mana pun, misalnya blackhole atau /dev/null), 421 (penolakan sementara; dan akan dicoba ulang hingga ~5 hari) atau 550 (gagal permanen dan ditolak). Default adalah 250.
has_imap Tidak Boolean Apakah mengaktifkan atau menonaktifkan penyimpanan IMAP untuk alias ini (jika dinonaktifkan, email masuk yang diterima tidak akan disimpan ke penyimpanan IMAP. Jika nilai diberikan, akan dikonversi ke boolean menggunakan boolean)
has_pgp Tidak Boolean Apakah mengaktifkan atau menonaktifkan enkripsi OpenPGP untuk penyimpanan email terenkripsi IMAP/POP3/CalDAV/CardDAV menggunakan public_key alias.
public_key Tidak String Kunci publik OpenPGP dalam format ASCII Armor (klik di sini untuk melihat contoh; misalnya kunci GPG untuk support@forwardemail.net). Ini hanya berlaku jika has_pgp diatur ke true. Pelajari lebih lanjut tentang enkripsi end-to-end di FAQ kami.
max_quota Tidak String Kuota penyimpanan maksimum untuk alias ini. Kosongkan untuk mengatur ulang ke kuota maksimum domain saat ini atau masukkan nilai seperti "1 GB" yang akan diparsing oleh bytes. Nilai ini hanya dapat diubah oleh admin domain.
vacation_responder_is_enabled Tidak Boolean Apakah mengaktifkan atau menonaktifkan penjawab otomatis saat liburan.
vacation_responder_start_date Tidak String Tanggal mulai penjawab liburan (jika diaktifkan dan tidak ada tanggal mulai yang diatur di sini, maka diasumsikan sudah dimulai). Kami mendukung format tanggal seperti MM/DD/YYYY, YYYY-MM-DD, dan format tanggal lain melalui parsing cerdas menggunakan dayjs.
vacation_responder_end_date Tidak String Tanggal berakhir penjawab liburan (jika diaktifkan dan tidak ada tanggal berakhir yang diatur di sini, maka diasumsikan tidak pernah berakhir dan akan merespons selamanya). Kami mendukung format tanggal seperti MM/DD/YYYY, YYYY-MM-DD, dan format tanggal lain melalui parsing cerdas menggunakan dayjs.
vacation_responder_subject Tidak String Subjek dalam teks biasa untuk penjawab liburan, misalnya "Out of Office". Kami menggunakan striptags untuk menghapus semua HTML di sini.
vacation_responder_message Tidak String Pesan dalam teks biasa untuk penjawab liburan, misalnya "Saya akan keluar kantor sampai Februari.". Kami menggunakan striptags untuk menghapus semua HTML di sini.

Contoh Permintaan:

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

Mengambil alias domain

Anda dapat mengambil alias domain baik berdasarkan id atau nilai name-nya.

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

Contoh Permintaan:

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

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

Contoh Permintaan:

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

Memperbarui alias domain

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

Parameter Body Wajib Tipe Deskripsi
name Tidak String Nama alias
recipients Tidak String atau Array Daftar penerima (harus berupa String yang dipisahkan oleh baris baru/spasi/koma atau Array dari alamat email yang valid, nama domain lengkap ("FQDN"), alamat IP, dan/atau URL webhook)
description Tidak String Deskripsi alias
labels Tidak String atau Array Daftar label (harus berupa String yang dipisahkan oleh baris baru/spasi/koma atau Array)
has_recipient_verification Tidak Boolean Memerlukan penerima untuk mengklik tautan verifikasi email agar email dapat diteruskan (default mengikuti pengaturan domain jika tidak secara eksplisit diatur dalam body permintaan)
is_enabled Tidak Boolean Apakah alias ini diaktifkan atau dinonaktifkan (jika dinonaktifkan, email tidak akan diarahkan ke mana pun tetapi mengembalikan kode status berhasil). Jika nilai diberikan, akan dikonversi menjadi boolean menggunakan boolean)
error_code_if_disabled Tidak Angka (baik 250, 421, atau 550) Email masuk ke alias ini akan ditolak jika is_enabled adalah false dengan kode 250 (diam-diam tidak dikirim ke mana pun, misalnya blackhole atau /dev/null), 421 (penolakan sementara; dan akan dicoba ulang selama ~5 hari) atau 550 kegagalan permanen dan penolakan. Default adalah 250.
has_imap Tidak Boolean Apakah mengaktifkan atau menonaktifkan penyimpanan IMAP untuk alias ini (jika dinonaktifkan, maka email masuk yang diterima tidak akan disimpan ke penyimpanan IMAP. Jika nilai diberikan, akan dikonversi menjadi boolean menggunakan boolean)
has_pgp Tidak Boolean Apakah mengaktifkan atau menonaktifkan enkripsi OpenPGP untuk penyimpanan email terenkripsi IMAP/POP3/CalDAV/CardDAV menggunakan public_key alias.
public_key Tidak String Kunci publik OpenPGP dalam format ASCII Armor (klik di sini untuk melihat contoh; misalnya kunci GPG untuk support@forwardemail.net). Ini hanya berlaku jika Anda mengatur has_pgp ke true. Pelajari lebih lanjut tentang enkripsi end-to-end di FAQ kami.
max_quota Tidak String Kuota maksimum penyimpanan untuk alias ini. Kosongkan untuk mengatur ulang ke kuota maksimum domain saat ini atau masukkan nilai seperti "1 GB" yang akan diurai oleh bytes. Nilai ini hanya dapat diubah oleh admin domain.
vacation_responder_is_enabled Tidak Boolean Apakah mengaktifkan atau menonaktifkan penjawab otomatis saat liburan.
vacation_responder_start_date Tidak String Tanggal mulai untuk penjawab liburan (jika diaktifkan dan tidak ada tanggal mulai yang diatur di sini, maka diasumsikan sudah dimulai). Kami mendukung format tanggal seperti MM/DD/YYYY, YYYY-MM-DD, dan format tanggal lain melalui parsing cerdas menggunakan dayjs.
vacation_responder_end_date Tidak String Tanggal berakhir untuk penjawab liburan (jika diaktifkan dan tidak ada tanggal berakhir yang diatur di sini, maka diasumsikan tidak pernah berakhir dan akan merespons selamanya). Kami mendukung format tanggal seperti MM/DD/YYYY, YYYY-MM-DD, dan format tanggal lain melalui parsing cerdas menggunakan dayjs.
vacation_responder_subject Tidak String Subjek dalam teks biasa untuk penjawab liburan, misalnya "Out of Office". Kami menggunakan striptags untuk menghapus semua HTML di sini.
vacation_responder_message Tidak String Pesan dalam teks biasa untuk penjawab liburan, misalnya "Saya akan keluar kantor sampai Februari.". Kami menggunakan striptags untuk menghapus semua HTML di sini.

Permintaan Contoh:

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

Hapus alias domain

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

Permintaan Contoh:

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

Kami memungkinkan Anda untuk mengenkripsi catatan bahkan pada paket gratis tanpa biaya. Privasi seharusnya bukan fitur, melainkan harus secara inheren terbangun di semua aspek produk. Sebagaimana sangat diminta dalam diskusi Privacy Guides dan pada isu GitHub kami kami telah menambahkannya.

Enkripsi Catatan TXT

POST /v1/encrypt

Parameter Body Wajib Tipe Deskripsi
input Ya String Catatan TXT plaintext Forward Email yang valid

Permintaan Contoh:

curl -X POST https://api.forwardemail.net/v1/encrypt \
  -d "input=user@gmail.com"