Email API
Perpustakaan
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 |
Base URI
Path URI dasar HTTP saat ini adalah: https://api.forwardemail.net.
Autentikasi
Semua endpoint memerlukan autentikasi menggunakan Basic Authorization. Kami mendukung dua metode autentikasi:
Autentikasi Token API (Direkomendasikan untuk sebagian besar endpoint)
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.
Kesalahan
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.
Lokalisasi
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.
Paginasi
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:
Logs
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
Akun
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"
Kontak Alias (CardDAV)
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
Kalender Alias (CalDAV)
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
Pesan Alias (IMAP/POP3)
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
Folder Alias (IMAP/POP3)
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
Email Keluar
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:
Domain
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:
Undangan
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:
Anggota
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:
Alias
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:
Enkripsi
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"