EngageLab Email CLI

EngageLab Email CLI membantu agen dan pengembang bekerja dengan email masuk dan keluar dari baris perintah.

Gunakan untuk:

  • Membuat daftar kotak surat yang tersedia
  • Membuat daftar dan memeriksa utas email
  • Membaca pesan masuk
  • Memeriksa pesan masuk baru
  • Membalas pesan masuk
  • Mengirim email baru

Instalasi

npm install -g @engagelabemail/cli
              
              npm install -g @engagelabemail/cli

            
Tampilkan blok kode ini di jendela mengambang

Periksa versi yang terinstal:

engagelab-email-cli -V
              
              engagelab-email-cli -V

            
Tampilkan blok kode ini di jendela mengambang

Ketika Anda menjalankan perintah yang terhubung ke EngageLab Email, CLI akan memeriksa apakah ada versi CLI yang lebih baru. Jika pembaruan diperlukan, proses akan berhenti dan menampilkan perintah pembaruan:

npm install -g @engagelabemail/cli@latest
              
              npm install -g @engagelabemail/cli@latest

            
Tampilkan blok kode ini di jendela mengambang

Konfigurasi

Kelola Konfigurasi yang Tersimpan

Gunakan grup perintah config untuk menyimpan, memeriksa, atau menghapus kredensial lokal.

Simpan alamat layanan dan Kunci Rahasia secara lokal:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
Tampilkan blok kode ini di jendela mengambang

Lihat konfigurasi yang tersimpan:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
Tampilkan blok kode ini di jendela mengambang

Hapus konfigurasi yang tersimpan:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
Tampilkan blok kode ini di jendela mengambang

config list akan menyembunyikan Kunci Rahasia.

Gunakan Kredensial Global dengan Perintah Bisnis Apa Pun

Anda tidak perlu menyimpan kredensial terlebih dahulu. Anda dapat meneruskan --base-url dan --secret-key langsung sebelum perintah bisnis apa pun seperti threads ... atau emails .... Kredensial baris perintah ini hanya berlaku untuk perintah saat ini dan tidak akan menimpa konfigurasi yang tersimpan.

Contoh:

engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1
              
              engagelab-email-cli --base-url http://localhost:8087 --secret-key sk_xxx threads get thread-1

            
Tampilkan blok kode ini di jendela mengambang

Mulai Cepat

Daftarkan pesan masuk terbaru:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20

            
Tampilkan blok kode ini di jendela mengambang

Baca satu pesan masuk:

engagelab-email-cli emails receiving get <message-uid>
              
              engagelab-email-cli emails receiving get <message-uid>

            
Tampilkan blok kode ini di jendela mengambang

Lihat utas lengkap di sekitar pesan:

engagelab-email-cli threads messages <thread-id> --include-content --limit 10
              
              engagelab-email-cli threads messages <thread-id> --include-content --limit 10

            
Tampilkan blok kode ini di jendela mengambang

Balas pesan masuk:

engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."
              
              engagelab-email-cli emails receiving reply <message-uid> --subject "Re: Hello" --text "Thanks, we received your message."

            
Tampilkan blok kode ini di jendela mengambang

Kirim email baru:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Hello" \ --text "Hello from EngageLab Email CLI."
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Hello" \
  --text "Hello from EngageLab Email CLI."

            
Tampilkan blok kode ini di jendela mengambang

Untuk skrip atau agen, tambahkan --json untuk mendapatkan output yang dapat dibaca mesin:

engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json
              
              engagelab-email-cli emails receiving list --mailbox-id 12 --page-size 20 --json

            
Tampilkan blok kode ini di jendela mengambang

Perintah

config set

Simpan konfigurasi lokal.

Opsi Deskripsi
--base-url <url> Alamat layanan. Default ke ENGAGELAB_EMAIL_BASE_URL jika diatur.
--secret-key <key> Kunci Rahasia. Default ke ENGAGELAB_EMAIL_SECRET_KEY jika diatur.

Contoh:

engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx
              
              engagelab-email-cli config set --base-url http://localhost:8087 --secret-key sk_xxx

            
Tampilkan blok kode ini di jendela mengambang

config list

Tampilkan konfigurasi yang tersimpan.

Contoh:

engagelab-email-cli config list
              
              engagelab-email-cli config list

            
Tampilkan blok kode ini di jendela mengambang

config clear

Hapus konfigurasi lokal yang tersimpan, termasuk baseUrl dan secretKey.

Contoh:

engagelab-email-cli config clear
              
              engagelab-email-cli config clear

            
Tampilkan blok kode ini di jendela mengambang

mailbox list

Daftarkan kotak surat yang tersedia.

Opsi Deskripsi
--mailbox <address> Filter berdasarkan alamat kotak surat.
--page-no <number> Nomor halaman.
--page-size <number> Ukuran halaman.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli mailbox list --page-size 20
              
              engagelab-email-cli mailbox list --page-size 20

            
Tampilkan blok kode ini di jendela mengambang

threads list

Daftarkan utas email.

Opsi Deskripsi
--mailbox-id <id> Filter berdasarkan ID kotak surat.
--subject <text> Cari berdasarkan subjek yang telah dinormalisasi.
--participant <email> Cari berdasarkan peserta.
--start-time <timestamp> Stempel waktu mulai pesan terbaru dalam milidetik.
--end-time <timestamp> Stempel waktu akhir pesan terbaru dalam milidetik.
--page-no <number> Nomor halaman.
--page-size <number> Ukuran halaman.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20
              
              engagelab-email-cli threads list --subject refund --page-no 1 --page-size 20

            
Tampilkan blok kode ini di jendela mengambang

threads get <thread-id>

Tampilkan satu utas.

Argumen/Opsi Deskripsi
<thread-id> ID utas.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50
              
              engagelab-email-cli threads get b0d9d6a1-1d17-4df8-8245-c807d7e8cb50

            
Tampilkan blok kode ini di jendela mengambang

threads messages <thread-id>

Daftarkan pesan dalam utas.

Argumen/Opsi Deskripsi
<thread-id> ID utas.
--limit <number> Batas pesan.
--include-content Sertakan teks/html/header/lampiran.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json
              
              engagelab-email-cli threads messages b0d9d6a1-1d17-4df8-8245-c807d7e8cb50 --include-content --json

            
Tampilkan blok kode ini di jendela mengambang

emails receiving list

Daftarkan pesan masuk.

Opsi Deskripsi
--mailbox-id <id> Filter berdasarkan ID kotak surat.
--keyword <text> Kata kunci pencarian.
--page-no <number> Nomor halaman.
--page-size <number> Ukuran halaman.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli emails receiving list --keyword refund --page-size 20
              
              engagelab-email-cli emails receiving list --keyword refund --page-size 20

            
Tampilkan blok kode ini di jendela mengambang

emails receiving get <message-uid>

Tampilkan satu pesan masuk.

Argumen/Opsi Deskripsi
<message-uid> UID pesan.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json
              
              engagelab-email-cli emails receiving get 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 --json

            
Tampilkan blok kode ini di jendela mengambang

emails receiving listen

Periksa pesan masuk baru. Perintah ini terus berjalan sampai Anda menghentikannya dengan Ctrl+C.

Opsi Deskripsi
--after <id> ID kursor dari hasil sebelumnya.
--limit <number> Batas pesan.
--interval <seconds> Interval pemeriksaan dalam detik (minimum 2).
--json Keluarkan satu pesan JSON per baris.

Contoh:

engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --limit 10 --interval 5 --json

            
Tampilkan blok kode ini di jendela mengambang

Lanjutkan dari kursor yang diketahui:

engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json
              
              engagelab-email-cli emails receiving listen --after 1500 --limit 10 --interval 5 --json

            
Tampilkan blok kode ini di jendela mengambang

emails receiving reply <message-uid>

Balas pesan masuk.

Argumen/Opsi Deskripsi
<message-uid> UID pesan yang akan dibalas.
--subject <text> Subjek balasan.
--text <text> Isi teks biasa.
--html <html> Isi HTML.
--text-file <path> Baca isi teks biasa dari file.
--html-file <path> Baca isi HTML dari file.
--cc <email> Alamat CC. Dapat diulang.
--bcc <email> Alamat BCC. Dapat diulang.
--reply-to <email> Alamat Reply-To. Dapat diulang.
--preview-text <text> Teks pratinjau email.
--attachment <path> Lampirkan file lokal. Dapat diulang. Memerlukan --disposition. Maksimal 10 file, total 10MB setelah pengkodean base64 (sekitar 7.5MB file mentah).
--disposition <value> Jenis lampiran: attachment atau inline. Diperlukan saat menggunakan --attachment. Dapat diulang atau diberikan sekali untuk semua lampiran.
--content-id <id> Content-ID untuk lampiran gambar sebaris. Diperlukan saat --disposition inline digunakan dengan lampiran gambar.
--sandbox Kirim dalam mode sandbox.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \ --subject "Re: Refund update" \ --text "Thanks, we received your message." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails receiving reply 7e2b2de6-14c5-4ef1-a1e2-f4337e4606e2 \
  --subject "Re: Refund update" \
  --text "Thanks, we received your message." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
Tampilkan blok kode ini di jendela mengambang

emails send

Kirim email baru.

Opsi Deskripsi
--mailbox-id <id> ID kotak surat.
--from <email> Alamat email pengirim.
--to <email> Alamat email penerima. Dapat diulang.
--subject <text> Subjek email.
--text <text> Isi teks biasa.
--html <html> Isi HTML.
--text-file <path> Baca isi teks biasa dari file.
--html-file <path> Baca isi HTML dari file.
--cc <email> Alamat CC. Dapat diulang.
--bcc <email> Alamat BCC. Dapat diulang.
--reply-to <email> Alamat Reply-To. Dapat diulang.
--preview-text <text> Teks pratinjau email.
--attachment <path> Lampirkan file lokal. Dapat diulang. Memerlukan --disposition. Maksimal 10 file, total 10MB setelah pengkodean base64 (sekitar 7.5MB file mentah).
--disposition <value> Jenis lampiran: attachment atau inline. Diperlukan saat menggunakan --attachment. Dapat diulang atau diberikan sekali untuk semua lampiran.
--content-id <id> Content-ID untuk lampiran gambar sebaris. Diperlukan saat --disposition inline digunakan dengan lampiran gambar.
--sandbox Kirim dalam mode sandbox.
--json Keluarkan JSON mentah.

Contoh:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --to bob@example.com \ --subject "Refund update" \ --text "Your refund has been processed." \ --attachment ./receipt.pdf \ --disposition attachment
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --to bob@example.com \
  --subject "Refund update" \
  --text "Your refund has been processed." \
  --attachment ./receipt.pdf \
  --disposition attachment

            
Tampilkan blok kode ini di jendela mengambang

Kirim HTML dengan lampiran gambar sebaris:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
Tampilkan blok kode ini di jendela mengambang

Metadata lampiran dapat diteruskan dengan dua cara yang kompatibel. Bentuk yang direkomendasikan mengikat metadata ke setiap jalur file, yang menghindari ambiguitas dengan beberapa lampiran:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Mixed attachments" --html "<p>Logo <img src=cid:image_1000></p>" --attachment "./receipt.pdf;disposition=attachment" --attachment "./logo.png;disposition=inline;content_id=image_1000"

            
Tampilkan blok kode ini di jendela mengambang

Bentuk opsi terpisah tradisional juga didukung untuk kompatibilitas:

engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000
              
              engagelab-email-cli emails send --mailbox-id 1001 --to alice@example.com --subject "Inline image" --html "<p>Logo <img src=cid:image_1000></p>" --attachment ./logo.png --disposition inline --content-id image_1000

            
Tampilkan blok kode ini di jendela mengambang

Jangan campur metadata lampiran sebaris (path;disposition=...) dengan --disposition atau --content-id dalam perintah yang sama.

Kirim konten HTML dari file:

engagelab-email-cli emails send \ --mailbox-id 1001 \ --to alice@example.com \ --subject "Monthly report" \ --html-file ./report.html
              
              engagelab-email-cli emails send \
  --mailbox-id 1001 \
  --to alice@example.com \
  --subject "Monthly report" \
  --html-file ./report.html

            
Tampilkan blok kode ini di jendela mengambang

Output

Secara default, CLI mencetak tabel atau ringkasan yang dapat dibaca dan menampilkan pesan pemuatan singkat saat permintaan sedang berjalan.

Gunakan --json ketika alat atau skrip lain perlu mengurai hasilnya.

engagelab-email-cli emails receiving get <message-uid> --json
              
              engagelab-email-cli emails receiving get <message-uid> --json

            
Tampilkan blok kode ini di jendela mengambang

emails receiving listen --json mencetak satu objek JSON pesan per baris.

Kesalahan

Kesalahan yang dapat dibaca manusia menyertakan kode kesalahan bisnis ketika API mengembalikannya, misalnya [100101] unauthorized.

Kesalahan --json menggunakan format ini:

{ "error": { "code": "auth_error", "errorCode": 100101, "message": "unauthorized" } }
              
              {
  "error": {
    "code": "auth_error",
    "errorCode": 100101,
    "message": "unauthorized"
  }
}

            
Tampilkan blok kode ini di jendela mengambang

Kode keluar:

Kode Keluar Arti
1 Kesalahan parameter atau konfigurasi hilang
2 Kegagalan autentikasi
3 Sumber daya tidak ditemukan
4 Konflik atau status sedang berlangsung
5 Kesalahan server atau kesalahan jaringan
Icon Solid Transparent White Qiyu
Hubungi Sales