API Email

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 diberi tahu saat pembungkus API bahasa pemrograman tertentu dirilis. Sementara itu, Anda dapat menggunakan pustaka permintaan HTTP yang direkomendasikan ini di aplikasi Anda, atau cukup gunakan ikal seperti pada contoh-contoh di bawah ini.

BahasaPerpustakaan
RubiFaraday
Pitonpermintaan
JawaOkeHttp
PHPmembuang waktu
JavaScriptagen super (kami adalah pengelola)
Node.jsagen super (kami adalah pengelola)
Pergilahnet / http
.NETIstirahat Tajam

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

Semua titik akhir memerlukan Kunci API untuk ditetapkan sebagai nilai "nama pengguna" dari permintaan Otorisasi Dasar kepala. Jangan khawatir – contoh disediakan di bawah ini untuk Anda jika Anda tidak yakin apa ini.

Jika terjadi kesalahan, isi respons permintaan API akan berisi pesan kesalahan mendetail.

KodeNama
200OK
400Permintaan yang buruk
401Tidak resmi
403Terlarang
404Tidak ditemukan
429Terlalu Banyak Permintaan
500Kesalahan server dari dalam
501Tidak Diimplementasikan
502Gerbang Buruk
503Layanan tidak tersedia
504Gerbang Waktu habis
Tip: Jika Anda menerima kode status 5xx (yang seharusnya tidak terjadi), silakan hubungi kami di api@forwardemail.net dan kami akan membantu Anda untuk menyelesaikan masalah Anda segera.

Layanan kami diterjemahkan ke lebih dari 25 bahasa yang berbeda. Semua pesan respons API diterjemahkan ke lokal terakhir yang terdeteksi dari pengguna yang membuat permintaan API. Anda dapat menimpa ini dengan melewati kebiasaan Accept-Language kepala. Jangan ragu untuk mencobanya menggunakan tarik-turun bahasa di bagian bawah halaman ini.

Jika Anda ingin diberi tahu saat pagination tersedia, silakan kirim email api@forwardemail.net.

Ambil log

API kami secara terprogram memungkinkan Anda mengunduh log untuk akun Anda. Mengirimkan permintaan ke titik akhir ini akan memproses semua log untuk akun Anda dan mengirimkannya melalui email kepada Anda sebagai lampiran (Gzip terkompresi CSV file spreadsheet) setelah selesai.

Ini memungkinkan Anda membuat pekerjaan latar belakang dengan a Pekerjaan Cron atau menggunakan milik kami Perangkat lunak penjadwalan pekerjaan Node.js Bree untuk menerima log kapan pun Anda mau. Perhatikan bahwa titik akhir ini terbatas pada 10 permintaan per hari.

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

GET /v1/logs/download

Parameter PertanyaanYg dibutuhkanTipeDeskripsi
domainTidakTali (FQDN)Filter log berdasarkan domain yang sepenuhnya memenuhi syarat ("FQDN"). Jika Anda tidak menyediakannya maka semua log di semua domain akan diambil.
qTidakTaliCari log berdasarkan email, domain, nama alias, alamat IP, atau tanggal (M/Y, M/D/YY, M-D, M-D-YY, atau M.D.YY format).

Contoh Permintaan:

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

Contoh tugas Cron (tengah malam setiap hari):

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

Perhatikan bahwa Anda dapat menggunakan layanan seperti Crontab.guru untuk memvalidasi sintaks ekspresi tugas cron Anda.

Contoh pekerjaan Cron (pada tengah malam setiap hari dan dengan log 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

Buat Akun

POST /v1/account

Parameter tubuhYg dibutuhkanTipeDeskripsi
emailIyaUntaian (Email)Alamat email
passwordIyaTaliKata sandi

Contoh Permintaan:

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

Ambil akun

GET /v1/account

Contoh Permintaan:

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

Perbaharui akun

PUT /v1/account

Parameter tubuhYg dibutuhkanTipeDeskripsi
emailTidakUntaian (Email)Alamat email
given_nameTidakTaliNama depan
family_nameTidakTalinama keluarga
avatar_urlTidakTali (URL)Tautan ke gambar avatar

Contoh Permintaan:

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

Harap pastikan bahwa Anda telah mengikuti petunjuk penyiapan untuk domain Anda. Petunjuk ini dapat ditemukan di Akun Saya → Domain → Pengaturan → Konfigurasi SMTP Keluar. Anda perlu memastikan penyiapan DKIM, Return-Path, dan DMARC untuk mengirim SMTP keluar dengan domain Anda.

Buat daftar email

Perhatikan bahwa titik akhir ini tidak mengembalikan email yang sudah dibuat message, headers, accepted, juga bukan rejectedErrors properti.

Untuk mengembalikan properti tersebut dan nilainya, silakan gunakan Ambil email titik akhir dengan ID email.

Titik akhir ini paling banyak akan kembali 50 hasil pada suatu waktu. Jika Anda ingin menanyakan beberapa halaman, tambahkan ?page=NUMBER Di mana NUMBER adalah bilangan bulat, mis. ?page=1.

GET /v1/emails

Parameter PertanyaanYg dibutuhkanTipeDeskripsi
qTidakString (didukung oleh RegExp)Telusuri email berdasarkan metadata
domainTidakString (didukung oleh RegExp)Cari email berdasarkan nama domain
pageTidakNomorHalaman untuk mengembalikan hasil (standarnya adalah 1)
`batasTidakNomorJumlah hasil per halaman yang akan dikembalikan (standarnya adalah 50 – maksimalnya adalah 50 dan minimum adalah 10)

Contoh Permintaan:

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

Buat email

API kami untuk membuat email terinspirasi oleh dan memanfaatkan konfigurasi opsi pesan Nodemailer. Silakan tunda ke Konfigurasi pesan nodemailer untuk semua parameter tubuh di bawah ini.

Perhatikan bahwa dengan pengecualian envelope dan dkim (karena kami mengaturnya secara otomatis untuk Anda), kami mendukung semua opsi Nodemailer. Kami secara otomatis mengatur disableFileAccess dan disableUrlAccess pilihan untuk true untuk tujuan keamanan.

Anda harus melewati opsi tunggal raw dengan email lengkap mentah Anda termasuk header atau lewati opsi parameter tubuh individu di bawah ini.

POST /v1/emails

Parameter tubuhYg dibutuhkanTipeDeskripsi
fromTidakUntaian (Email)Alamat email pengirim (harus ada sebagai alias domain).
toTidakString atau ArrayDaftar yang dipisahkan koma atau Array penerima untuk header "Kepada".
ccTidakString atau ArrayDaftar yang dipisahkan koma atau Array penerima untuk header "Cc".
bccTidakString atau ArrayDaftar yang dipisahkan koma atau Array penerima untuk header "Bcc".
subjectTidakTaliSubjek email.
textTidakString atau PenyanggaVersi teks biasa dari pesan.
htmlTidakString atau PenyanggaVersi HTML pesan.
attachmentsTidakHimpunanArray objek lampiran (lihat Bidang umum Nodemailer).
senderTidakTaliAlamat email untuk tajuk "Pengirim" (lihat Bidang Nodemailer yang lebih maju).
replyToTidakTaliAlamat email untuk header "Reply-To".
inReplyToTidakTaliPesan-Id pesan dibalas.
referencesTidakString atau ArrayDaftar yang dipisahkan ruang atau Array of Message-ID's.
attachDataUrlsTidakBooleanJika true kemudian mengkonversi data: gambar dalam konten HTML pesan ke lampiran tersemat.
watchHtmlTidakTaliPesan versi HTML khusus Apple Watch (menurut dokumen Nodemailer, jam tangan terbaru tidak memerlukan pengaturan ini).
ampTidakTaliVersi HTML khusus AMP4EMAIL dari pesan tersebut (lihat Contoh Nodemailer).
icalEventTidakObyekAcara iCalendar untuk digunakan sebagai konten pesan alternatif (lihat Acara kalender Nodemailer).
alternativesTidakHimpunanArray konten pesan alternatif (lihat Konten alternatif Nodemailer).
encodingTidakTaliPengodean untuk teks dan string HTML (standarnya adalah "utf-8", tapi mendukung "hex" dan "base64" nilai encoding juga).
rawTidakString atau PenyanggaPesan berformat RFC822 yang dibuat khusus untuk digunakan (bukan yang dihasilkan oleh Nodemailer – lihat Sumber khusus Nodemailer).
textEncodingTidakTaliPengkodean yang terpaksa digunakan untuk nilai teks (baik "quoted-printable" atau "base64"). Nilai default adalah nilai terdekat yang terdeteksi (untuk penggunaan ASCII "quoted-printable").
priorityTidakTaliTingkat prioritas untuk email (bisa jadi "high", "normal" (standar), atau "low"). Perhatikan bahwa nilai dari "normal" tidak menetapkan tajuk prioritas (ini adalah perilaku default). Jika nilai dari "high" atau "low" diatur, maka X-Priority, X-MSMail-Priority, dan Importance header akan diatur sebagaimana mestinya.
headersTidakObjek atau ArrayObjek atau Larik bidang tajuk tambahan untuk ditetapkan (lihat Header khusus Nodemailer).
messageIdTidakTaliNilai Message-ID opsional untuk header "Message-ID" (nilai default akan otomatis dibuat jika tidak disetel – perhatikan bahwa nilainya harus mematuhi spesifikasi RFC2822).
dateTidakTali atau TanggalNilai Tanggal opsional yang akan digunakan jika tajuk Tanggal tidak ada setelah penguraian, jika tidak, string UTC saat ini akan digunakan jika tidak disetel. Header tanggal tidak boleh lebih dari 30 hari sebelum waktu saat ini.
listTidakObyekObjek opsional dari List-* header (lihat Header daftar Nodemailer).

Contoh Permintaan:

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:

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

Ambil email

GET /v1/emails/:id

Contoh Permintaan:

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

Hapus surel

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

DELETE /v1/emails/:id

Contoh Permintaan:

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

Tip: Titik akhir domain dengan nama domain /v1/domains/:domain_name karena jalurnya dapat dipertukarkan dengan ID domain :domain_id. Ini berarti Anda dapat merujuk ke domain dengan name atau id nilai.

Daftar domain

GET /v1/domains

Parameter PertanyaanYg dibutuhkanTipeDeskripsi
qTidakString (didukung oleh RegExp)Cari domain berdasarkan nama
nameTidakString (didukung oleh RegExp)Cari domain berdasarkan nama

Contoh Permintaan:

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

Buat domain

POST /v1/domains

Parameter tubuhYg dibutuhkanTipeDeskripsi
domainIyaString (FQDN atau IP)Nama domain yang sepenuhnya memenuhi syarat ("FQDN") atau alamat IP
planTidakString (dapat dihitung)Jenis paket (harus "free", "enhanced_protection", atau "team", default ke "free" atau paket berbayar pengguna saat ini jika ada)
catchallTidakString (alamat email yang dibatasi) atau BooleanBuat alias penampung-semua default, default ke true (jika true itu akan menggunakan alamat email pengguna API sebagai penerima, dan jika false tidak ada catch-all yang akan dibuat). Jika sebuah String dilewatkan, maka itu adalah daftar alamat email yang dibatasi untuk digunakan sebagai penerima (dipisahkan dengan jeda baris, spasi, dan/atau koma)
has_adult_content_protectionTidakBooleanApakah akan mengaktifkan perlindungan konten dewasa Pemindai Spam di domain ini
has_phishing_protectionTidakBooleanApakah akan mengaktifkan perlindungan phishing Pemindai Spam di domain ini
has_executable_protectionTidakBooleanApakah akan mengaktifkan perlindungan yang dapat dijalankan Pemindai Spam di domain ini
has_virus_protectionTidakBooleanApakah akan mengaktifkan perlindungan virus Pemindai Spam di domain ini
has_recipient_verificationTidakBooleanDefault domain global untuk meminta penerima alias mengklik tautan verifikasi email agar email dapat mengalir
retention_daysTidakNomorBilangan bulat antara 0 dan 30 yang sesuai dengan jumlah hari retensi untuk menyimpan email SMTP keluar setelah berhasil terkirim atau mengalami kesalahan permanen. Defaultnya adalah 0, yang berarti email SMTP keluar akan segera dihapus dan disunting demi keamanan Anda.

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:

Perbarui domain

PUT /v1/domains/example.com

Parameter tubuhYg dibutuhkanTipeDeskripsi
smtp_portTidakString atau AngkaPort khusus untuk dikonfigurasi untuk penerusan SMTP (defaultnya adalah "25")
has_adult_content_protectionTidakBooleanApakah akan mengaktifkan perlindungan konten dewasa Pemindai Spam di domain ini
has_phishing_protectionTidakBooleanApakah akan mengaktifkan perlindungan phishing Pemindai Spam di domain ini
has_executable_protectionTidakBooleanApakah akan mengaktifkan perlindungan yang dapat dijalankan Pemindai Spam di domain ini
has_virus_protectionTidakBooleanApakah akan mengaktifkan perlindungan virus Pemindai Spam di domain ini
has_recipient_verificationTidakBooleanDefault domain global untuk meminta penerima alias mengklik tautan verifikasi email agar email dapat mengalir
retention_daysTidakNomorBilangan bulat antara 0 dan 30 yang sesuai dengan jumlah hari retensi untuk menyimpan email SMTP keluar setelah berhasil terkirim atau mengalami kesalahan permanen. Defaultnya adalah 0, yang berarti email SMTP keluar akan segera dihapus dan disunting demi keamanan Anda.

Contoh Permintaan:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
  -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 tubuhYg dibutuhkanTipeDeskripsi
emailIyaUntaian (Email)Alamat email untuk diundang ke daftar anggota domain
groupIyaString (dapat dihitung)Grup untuk menambahkan pengguna ke keanggotaan domain (bisa menjadi 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

Hapus undangan domain

DELETE /v1/domains/:domain_name/invites

Parameter tubuhYg dibutuhkanTipeDeskripsi
emailIyaUntaian (Email)Alamat email untuk 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 tubuhYg dibutuhkanTipeDeskripsi
groupIyaString (dapat dihitung)Grup untuk memperbarui pengguna ke keanggotaan domain dengan (bisa menjadi 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:

Daftar alias domain

GET /v1/domains/example.com/aliases

Parameter PertanyaanYg dibutuhkanTipeDeskripsi
qTidakString (didukung oleh RegExp)Telusuri alias di domain menurut nama, label, atau penerima
nameTidakString (didukung oleh RegExp)Cari alias di domain dengan nama
recipientTidakString (didukung oleh RegExp)Cari alias di domain menurut penerima

Contoh Permintaan:

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

Buat alias domain baru

POST /v1/domains/example.com/aliases

Parameter tubuhYg dibutuhkanTipeDeskripsi
nameTidakTaliNama alias (jika tidak diberikan atau jika kosong, maka alias acak dibuat)
recipientsTidakString atau ArrayDaftar penerima (harus dipisahkan baris/spasi/koma String atau Array dari alamat email yang valid, nama domain yang memenuhi syarat ("FQDN"), alamat IP, dan/atau URL webhook – dan jika tidak diberikan atau kosong Array, maka email pengguna yang membuat permintaan API akan ditetapkan sebagai penerima)
descriptionTidakTaliDeskripsi alias
labelsTidakString atau ArrayDaftar label (harus dipisahkan dengan garis / spasi / String atau Array yang dipisahkan koma)
has_recipient_verificationTidakBooleanMewajibkan penerima untuk mengeklik tautan verifikasi email agar email dapat mengalir (default pada setelan domain jika tidak disetel secara eksplisit di isi permintaan)
is_enabledTidakBooleanApakah akan mengaktifkan atau menonaktifkan alias ini (jika dinonaktifkan, email tidak akan diarahkan ke mana pun kecuali mengembalikan kode status yang berhasil). Jika suatu nilai diteruskan, nilai tersebut diubah menjadi boolean menggunakan boolean)
has_imapTidakBooleanApakah akan mengaktifkan atau menonaktifkan penyimpanan IMAP untuk alias ini (jika dinonaktifkan, email masuk yang diterima tidak akan disimpan penyimpanan IMAP. Jika suatu nilai diteruskan, nilai tersebut diubah menjadi boolean menggunakan boolean)
has_pgpTidakBooleanApakah akan mengaktifkan atau menonaktifkan Enkripsi OpenPGP untuk Penyimpanan email terenkripsi IMAP/POP3 menggunakan alias' public_key.
public_keyTidakTaliKunci publik OpenPGP dalam format ASCII Armor (klik di sini untuk melihat contohnya; misalnya Kunci GPG untuk support@forwardemail.net). Ini hanya berlaku jika Anda punya has_pgp mulai true. Pelajari lebih lanjut tentang enkripsi ujung ke ujung di FAQ kami.

Contoh Permintaan:

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

Ambil alias domain

Anda dapat mengambil alias domain dengan id atau itu name nilai.

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:

Perbarui alias domain

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

Parameter tubuhYg dibutuhkanTipeDeskripsi
nameTidakTaliNama alias
recipientsTidakString atau ArrayDaftar penerima (harus String-break / spasi / dipisahkan koma atau Array alamat email yang valid, nama domain yang memenuhi syarat ("FQDN"), alamat IP, dan / atau URL webhook URL)
descriptionTidakTaliDeskripsi alias
labelsTidakString atau ArrayDaftar label (harus dipisahkan dengan garis / spasi / String atau Array yang dipisahkan koma)
has_recipient_verificationTidakBooleanMewajibkan penerima untuk mengeklik tautan verifikasi email agar email dapat mengalir (default pada setelan domain jika tidak disetel secara eksplisit di isi permintaan)
is_enabledTidakBooleanApakah akan mengaktifkan atau menonaktifkan alias ini (jika dinonaktifkan, email tidak akan diarahkan ke mana pun kecuali mengembalikan kode status yang berhasil)
has_imapTidakBooleanApakah akan mengaktifkan atau menonaktifkan penyimpanan IMAP untuk alias ini (jika dinonaktifkan, email masuk yang diterima tidak akan disimpan penyimpanan IMAP. Jika suatu nilai diteruskan, nilai tersebut diubah menjadi boolean menggunakan boolean)
has_pgpTidakBooleanApakah akan mengaktifkan atau menonaktifkan Enkripsi OpenPGP untuk Penyimpanan email terenkripsi IMAP/POP3 menggunakan alias' public_key.
public_keyTidakTaliKunci publik OpenPGP dalam format ASCII Armor (klik di sini untuk melihat contohnya; misalnya Kunci GPG untuk support@forwardemail.net). Ini hanya berlaku jika Anda punya has_pgp mulai true. Pelajari lebih lanjut tentang enkripsi ujung ke ujung di FAQ kami.

Contoh Permintaan:

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

Contoh Permintaan:

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