Pesan email dikirim ke aplikasi Anda sebagai permintaan HTTP. Untuk memproses pesan email masuk, Anda harus mengaitkan alamat email dengan servlet dalam konfigurasi aplikasi, lalu menyertakan kode servlet dengan aplikasi tersebut. Email masuk menghasilkan permintaan HTTP yang diteruskan ke servlet yang sesuai untuk ditangani.
Mengonfigurasi aplikasi Anda untuk menerima email
Ketika Anda membuat aplikasi baru, email masuk dinonaktifkan secara default. Jika Anda tidak secara eksplisit mengaktifkan pesan email masuk yang dikirim ke aplikasi Anda akan diabaikan.
Untuk mengaktifkan layanan email masuk, ubah file konfigurasi appengine-web.xml
dan
web.xml
:
Mengaktifkan email di appengine-web.xml
Ubah appengine-web.xml
dengan menambahkan bagian inbound-services
yang mengaktifkan layanan email masuk:
Pesan email dikirim ke aplikasi Anda sebagai permintaan POST HTTP menggunakan URL berikut:
/_ah/mail/<ADDRESS>
dengan <ADDRESS>
adalah alamat email lengkap, termasuk nama domain. Perlu diperhatikan bahwa meskipun aplikasi Anda di-deploy di domain kustom, aplikasi Anda tidak dapat menerima email yang dikirim ke alamat di domain tersebut.
Mengaktifkan email di web.xml
Ubah web.xml
dengan memetakan URL email ke servlet:
Dalam cuplikan di atas, /_ah/mail/*
cocok dengan semua email yang dialamatkan ke aplikasi. Servlet email berjalan dalam versi aplikasi yang saat ini ditayangkan di App Engine.
Pengiriman pesan masuk berbasis pola
Jika aplikasi Anda menggunakan pencocokan pola, pertimbangkan untuk menggunakan pendekatan berbasis filter berdasarkan cuplikan kode berikut.
Pengendali konkret
Pengendali konkret di atas didaftarkan menggunakan cuplikan berikut di
web.xml
:
Perhatikan bahwa perintah security-constraint
tidak dimungkinkan pada filter;
kebijakan keamanan pada pengendali harus diperkenalkan dengan cara lain.
Pengendali abstrak
Menangani email masuk
JavaMail API menyertakan class MimeMessage
yang dapat Anda gunakan untuk mengurai pesan email masuk. MimeMessage
memiliki konstruktor yang menerima
java.io.InputStream
dan sesi JavaMail, yang dapat memiliki konfigurasi
kosong.
Buat instance MimeMessage
seperti ini:
Anda kemudian dapat menggunakan berbagai metode untuk mengurai objek message
:
- Panggil
getFrom()
untuk mengembalikan pengirim pesan. - Panggil
getContentType()
untuk mengekstrak jenis konten pesan. MetodegetContent()
menampilkan objek yang menerapkan antarmukaMultipart
. - Panggil
getCount()
untuk menentukan jumlah bagian - Panggil
getBodyPart(int index)
untuk menampilkan bagian isi tertentu.
Setelah menyiapkan aplikasi untuk menangani email masuk, Anda dapat menggunakan konsol server pengembangan untuk menyimulasikan pesan email masuk. Untuk mempelajari lebih lanjut, termasuk cara memulai server pengembangan, lihat Server Pengembangan Java. Setelah memulai aplikasi di server pengembangan lokal, Anda dapat mengakses aplikasi dengan mengunjungi URL http://localhost:8888/_ah/admin/, yang menggantikan nilai 8888 dengan port apa pun yang Anda gunakan jika Anda tidak menggunakan port default untuk server pengembangan lokal.
Di server pengembangan, klik Email Masuk di sisi kiri, isi formulir yang muncul, dan klik Send Email.