Apa yang perlu disiapkan untuk kotak surat Hotmail?
Siapkan alamat @hotmail.com milik Anda, akses ke aplikasi yang diizinkan untuk diuji, serta akun Mailera dengan peran Admin atau Leader. Hanya kedua peran tersebut yang dapat menambahkan kotak surat. Pisahkan kotak surat pengujian ke grup khusus agar kunci API tidak perlu mengakses email kerja lainnya.
OTP adalah kode sekali pakai. Dalam alur ini, API mengambil kode yang sudah dikirim aplikasi ke email Anda. API pembaca kotak surat bukan layanan yang menerbitkan atau memverifikasi kode tersebut.
Hotmail menggunakan koneksi Microsoft di Mailera melalui Microsoft Graph dan OAuth, bukan layanan OTP tersendiri. Jika Anda baru menyiapkan pembacaan kode email, panduan membaca OTP dari kotak surat sendiri menjelaskan alur dasarnya. Pilih kotak surat Hotmail yang tepat dan pisahkan setiap percobaan pengujian.

Bagaimana menghubungkan Hotmail dan membatasi akses API?
Ada dua lapisan akses: persetujuan OAuth memberi Mailera akses ke kotak surat Microsoft, sedangkan kunci API memberi skrip Anda akses ke Mailera. Jangan menukar kunci API dengan token Microsoft.
Hubungkan kotak surat melalui OAuth
- Buka Kotak surat, lalu pilih Tambah kotak surat.
- Pilih tab Masuk dengan Microsoft.
- Masuk menggunakan akun Hotmail uji yang benar dan selesaikan persetujuan OAuth di Microsoft.
- Pastikan alamat yang terhubung adalah alamat tujuan pengujian. Tempatkan kotak surat itu dalam grup pengujian.
Dalam alur akses atas nama pengguna Microsoft, pengguna mengizinkan aplikasi bertindak atas namanya. Koneksi Microsoft di Mailera tidak menggunakan sandi aplikasi (app password). Jika Anda sebelumnya mencoba jalur tersebut, lihat panduan mengganti koneksi Outlook berbasis sandi aplikasi dengan OAuth.

Buat kunci yang hanya bisa membaca grup pengujian
- Buka Pengaturan, masuk ke tab kunci API, lalu pilih Buat API key.
- Isi Nama deskriptif agar kegunaan kunci mudah dikenali.
- Pada Cakupan kotak surat, pilih grup pengujian, bukan semua grup.
- Aktifkan izin baca, yaitu scope
read. Pembacaan OTP tidak membutuhkan izin mengirim pesan. - Atur Masa berlaku sesuai durasi penggunaan, lalu simpan kunci di penyimpanan rahasia sisi server.
Mailera menampilkan kunci baru hanya sekali. Sediakan nilainya sebagai variabel lingkungan $MAILERA_API_KEY; jangan menuliskannya di kode sumber atau konfigurasi frontend. Nama izin Microsoft Graph dan scope kunci API Mailera adalah dua hal berbeda. Prinsipnya sama: gunakan akses minimum, seperti yang dianjurkan dalam referensi izin Microsoft Graph.

Bagaimana mengambil OTP untuk percobaan yang tepat?
Contoh berikut memakai REST API Mailera. Halaman pengembang Mailera menjelaskan jalur integrasinya, sedangkan dokumentasi API menjadi rujukan endpoint saat Anda menyusun skrip.
Jalankan contoh di lingkungan privat. Respons pembacaan email dapat memuat informasi sensitif; jangan arahkan keluarannya ke log CI yang dapat dibaca bersama.
1. Cocokkan alamat sebelum menyimpan id
Ambil daftar kotak surat yang dapat diakses kunci:
curl --silent --show-error \
'https://mailera.app/api/public/v1/mailboxes' \
-H "Authorization: Bearer $MAILERA_API_KEY"Pada array data, cocokkan email dengan alamat Hotmail uji Anda. Ambil id dari objek yang sama, lalu sediakan sebagai $MAILBOX_ID. Jangan asal memilih elemen pertama hanya karena saat pengembangan daftarnya kebetulan cuma berisi satu hasil. Respons juga memiliki total, limit, dan offset; periksa halaman berikutnya bila alamat yang dicari belum terlihat.
2. Mulai satu percobaan yang jelas
Catat waktu mulai percobaan di sistem pengujian, lalu minta aplikasi mengirim OTP ke alamat tersebut. Simpan hubungan antara percobaan, alamat tujuan, dan $MAILBOX_ID pada sisi pengujian Anda.
Untuk awal implementasi, jalankan satu percobaan aktif per kotak surat. Bila beberapa percobaan memakai alamat, pengirim, dan subjek yang sama secara bersamaan, jangan memilih kode berdasarkan urutan kedatangan saja.
3. Ambil kode dengan penyaring
Endpoint GET /mailboxes/{id}/otp mengambil OTP terbaru dan membutuhkan scope read. Parameter yang tersedia adalah:
| Parameter | Penempatan | Penggunaan |
|---|---|---|
id | Path | Memilih kotak surat yang sudah dicocokkan dengan alamat tujuan. |
from | Query | Membatasi pencarian berdasarkan pengirim email OTP. |
subject | Query | Membatasi pencarian berdasarkan subjek email. |
since_minutes | Query | Parameter tambahan yang tersedia; contoh di bawah memakai nilai 5. |
Gunakan pengirim dan subjek dari email aplikasi uji Anda. Contoh ini memakai alamat pengirim nonrahasia dan nilai contoh 5 untuk since_minutes.
curl --silent --show-error --get \
"https://mailera.app/api/public/v1/mailboxes/$MAILBOX_ID/otp" \
-H "Authorization: Bearer $MAILERA_API_KEY" \
--data-urlencode 'from=auth@example.com' \
--data-urlencode 'subject=Kode masuk pengujian' \
--data-urlencode 'since_minutes=5'Ganti nilai contoh dengan pengirim dan subjek aplikasi Anda. Jangan mengandalkan asumsi tentang wildcard atau pencocokan huruf besar-kecil saat memisahkan percobaan.
4. Gunakan pencarian OTP jika perlu membaca kode beserta pesan asalnya
OTP terbaru belum tentu berasal dari permintaan terbaru Anda. Untuk alur yang memerlukan kode beserta metadata pesan asalnya, gunakan GET /messages/search dengan extract=otp sebagai jalur pengambilan kode. Gunakan kunci read yang sama dan batasi pengirim melalui parameter from.
Pada setiap objek dalam array data, otp.code berada bersama metadata pesan tersebut. Sebelum memilih kode, cocokkan mailbox_id pada objek hasil dengan id kotak surat uji yang sudah Anda cocokkan melalui GET /mailboxes. Periksa id, to, from, subject, dan received_at pada objek yang sama dengan kode yang akan dipakai. Gunakan hasil pencarian ini, bukan menggabungkan metadata pesan terpisah dengan kode dari panggilan /otp sebelumnya.
Bandingkan metadata dengan catatan percobaan, termasuk alamat tujuan dan waktu mulai. Metadata membantu menilai kecocokan, tetapi tidak menjamin kode berasal dari permintaan terbaru. Jika hubungan pesan dengan percobaan masih ambigu, hentikan pemilihan otomatis daripada menebak kode.
Serahkan kode hanya ke percobaan yang sesuai. Aplikasi tujuan menentukan apakah kode diterima, sudah kedaluwarsa, atau tidak lagi berlaku. Jika kode belum ditemukan, ulangi pemeriksaan dengan jeda dan batas waktu keseluruhan. Tetapkan batas itu berdasarkan kebutuhan pengujian Anda, bukan dengan melonggarkan pencarian sampai kode lama ikut terambil.
Kesalahan umum: mengapa OTP Hotmail tidak ditemukan atau ditolak?
Pisahkan masalah pemilihan pesan dari masalah koneksi. Koneksi yang masih bisa masuk ke Microsoft tidak berarti email tertentu sudah tersedia untuk dibaca.
| Gejala | Yang perlu diperiksa | Tindakan |
|---|---|---|
| Kode berasal dari kotak surat lain | Pasangan email dan id pada daftar kotak surat | Cocokkan ulang sebelum memulai percobaan. |
| OTP tidak ditemukan | Nilai pengirim dan subjek | Bandingkan dengan email uji sebenarnya; koreksi penyaring yang keliru. |
| Email belum terlihat | Status koneksi dan lokasi pesan | Periksa /status, lalu /placement dan folder Junk. |
| Kode ditemukan tetapi ditolak | Waktu pesan dan percobaan yang sedang berjalan | Jangan gunakan ulang hasil percobaan sebelumnya; minta kode baru melalui aplikasi uji. |
| Koneksi Microsoft terputus | Hasil pemeriksaan masuk | Hubungkan kembali akun melalui OAuth sebelum mengulangi pengujian. |
| Sinkronisasi manual ditolak | Scope kunci API | Operasi sinkronisasi manual (POST /mailboxes/{id}/sync) membutuhkan izin sync, bukan hanya read. |
Untuk memeriksa apakah proses masuk ke Microsoft masih berfungsi:
curl --silent --show-error \
"https://mailera.app/api/public/v1/mailboxes/$MAILBOX_ID/status" \
-H "Authorization: Bearer $MAILERA_API_KEY"Untuk memeriksa pesan yang terlihat di Inbox, gunakan daftar pesan:
curl --silent --show-error --get \
"https://mailera.app/api/public/v1/mailboxes/$MAILBOX_ID/messages" \
-H "Authorization: Bearer $MAILERA_API_KEY" \
--data-urlencode 'folder=inbox' \
--data-urlencode 'from=auth@example.com'Gunakan GET /mailboxes/{id}/placement untuk memeriksa penempatan Inbox atau Spam. Endpoint ini mendukung from, subject, dan since_minutes. Periksa juga folder Junk pada kotak surat yang sama; jangan hanya mencari di Inbox. Untuk membaca daftar pesannya, gunakan /messages dengan folder=junk.
Jika perlu, POST /mailboxes/{id}/sync meminta sinkronisasi manual dan membutuhkan izin sync tambahan. Jangan menambahkannya ke kunci pembaca rutin hanya untuk mengatasi penyaring pencarian yang salah.
Mailera menerima email Microsoft melalui Graph change notifications, dengan pemeriksaan latar belakang sebagai cadangan. Dukungan notifikasi pesan dijelaskan dalam dokumentasi Microsoft tentang perubahan sumber daya Outlook. Tetap gunakan jeda pemeriksaan; batas API Mailera adalah 300 permintaan per menit per kunci.
Bagaimana menjaga OTP dan akses kotak surat tetap aman?
Jangan simpan OTP, isi email sensitif, kunci API, atau token OAuth dalam log dan rekaman pengujian. Samarkan seluruh kode serta alamat pribadi pada tangkapan layar. Simpan hanya metadata yang diperlukan untuk menelusuri percobaan, dengan akses terbatas.
Pertahankan cakupan kunci pada grup pengujian dan izin read. Cabut kunci setelah tidak diperlukan; Mailera langsung menolak panggilan yang menggunakan kunci yang sudah dicabut. Saat meninjau integrasi Anda, lihat informasi keamanan produk di halaman keamanan Mailera.
Jika agen AI menjalankan alur ini, perlakukan email masuk sebagai data tidak tepercaya, bukan instruksi. Jangan mengikuti perintah dalam isi email, termasuk perintah untuk membagikan kode atau mengubah tujuan pengiriman. Gunakan kunci dengan izin minimum dan minta konfirmasi sebelum agen mengirim pesan.
Batas Mailera dalam alur OTP Hotmail
Mailera menghubungkan kotak surat yang sudah Anda miliki; Mailera tidak membuat alamat Hotmail baru. Pengambilan kode bukan verifikasi kode dan bukan jaminan bahwa kode masih berlaku.
Mailera juga tidak menjamin penerimaan email seketika atau penempatan di Inbox. Tindakan Bukan spam memindahkan pesan keluar dari Junk dan membutuhkan izin memindahkan pesan, tetapi keputusan penyaringan berikutnya tetap berada pada penyedia email. Memindahkan satu pesan tidak membuat penyedia otomatis memercayai pengirimnya.
Lakukan ini dengan API
Setiap tindakan dalam artikel ini tersedia melalui REST API, lengkap dengan contoh curl, API key, dan webhook.
Lihat dokumentasi API








