Bismillaahirrohmaanirrohiim…
Saat ini teknologi sudah berkembang cepat, ada kalanya kita ingin diberikan informasi secara cepat jika ada email masuk dengan judul atau isi tertentu.
Nah, disini saya hanya ingin berbagi tutorial tentang bagaimana mengakses inbox email di gmail menggunakan PHP.
Setelah bisa diambil menggunakan PHP, nantinya email tersebut dapat diolah sesuai kebutuhan.
Langsung saja ikuti langkah-langkah dibawah ini:
- Login di gmail
- Buka pengaturan, klik icon gear diatas, klik button “Lihat semua setelan”
- Buka tab “Penerusan dan POP/IMAP”
- Aktifkan IMAP
- Simpan Perubahan
Buat sandi/pin aplikasi di gmail, dengan cara:
- Klik icon profil di atas
- Klik “kelola akun google anda”
- Pilih Menu “Keamanan”
- Klik “Verifikasi 2 langkah”
- Scroll ke bawah, temukan bagian “Sandi Aplikasi”
- Buat sandi aplikasi, copy sandi tersebut ketempat yang aman.
Buat kode PHP dengan menggunakan fungsi IMAP untuk mengakses akun gmailnya:
<?php $hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX'; $username = 'yourakun[at]xxxxxx.com'; $password = 'yoursandiaplikasi';//sandi aplikasi bukan paswd email ya //koneksi ke gmail dengan imap $inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); if (!$inbox ) { exit('Ada kesalahan'); } // $emails = imap_search($inbox,'ALL');//semua email $emails = imap_search($inbox,'UNSEEN');//hanya yang belum dibaca if ($emails) { //urutkan yang terbaru ada diatas rsort($emails); $no = 0; foreach($emails as $email_number) { //mengambil info header email (from, to, subject, date, dll) $overview = imap_fetch_overview($inbox,$email_number,0); //mengambil isi email //saat perintah ini dipanggil, maka otomatis email yang ada digmail statusnya akan menjadi "terbaca" $message = imap_fetchbody($inbox,$email_number,1); //ubah object menjadi array $overview_arr = json_decode(json_encode ( $overview ) , true); //ekstract isi dari array diatas $subject = isset($overview_arr[0]['subject']) ? $overview_arr[0]['subject'] : ''; $udate = isset($overview_arr[0]['udate']) ? $overview_arr[0]['udate'] : ''; //dst } } //tutup imap imap_close($inbox);
Untuk menjalankan imap, jangan lupa diaktifkan modul php_imap di dalam file php.ini nya.
Selesai, semoga bermanfaat