Pengantar Konsep Dasar Email
Email digunakan untuk menyampaikan kepercayaan diri dan berkomunikasi secara online, dan itu adalah salah satu layanan internet yang paling penting. Menurut statistik, 30% layanan internet terkait dengan email. Pada saat yang sama, kita tidak dapat menyangkal bahwa itu memainkan peran penting dalam kehidupan, pekerjaan, dan kantor kita sehari -hari. Misalnya: Banyak Proyek Otomasi Kantor (OAS) memiliki fungsi mengirim email. Jika Anda juga menggunakan metode manual seperti Outlook, itu tidak cocok. Di era berkecepatan tinggi ini, kita perlu memberikan efisiensi kerja sehingga pekerjaan dapat diotomatisasi. Pada saat yang sama, banyak situs web juga perlu mengirim email: Kirim email selamat datang kepada pengguna yang baru terdaftar dengan informasi pendaftaran mereka, kirim informasi aktivitas terbaru dari Situs Web ini ke semua anggota terdaftar melalui email, dll.
Sebelum memulai pengembangan email: kita perlu memahami beberapa konsep: sistem email, server surat, email, perangkat lunak klien surat, protokol transmisi surat, dan proses transmisi email.
Sistem email
Mirip dengan layanan pos tradisional, sistem email terdiri dari kantor email, sistem pengiriman dan penerima email. Pengirim dan penerima mengirim dan menerima email melalui email pengiriman dan penerima email, yang sebenarnya adalah program klien surat yang berjalan di komputer. Kantor email memainkan jembatan, yang sebenarnya merupakan program server surat yang berjalan di server. Proses pemrosesan email mirip dengan layanan pos.
Server surat
Server email adalah perangkat yang digunakan untuk mengelola email. Ada sejumlah besar server email yang tersedia di internet, seperti: 126, 163, hotmail ...
Fungsi utama yang disediakan oleh server email:
1. Terima email yang dikirim oleh pengguna.
2. Teruskan email yang dikirimkan oleh pengguna ke server email target.
3. Terima email yang diteruskan oleh server email lain dan simpan email di email pengguna yang mereka kelola.
4. Berikan pengguna yang datang untuk membaca email untuk membaca email.
Server Mail membentuk inti dari sistem email. Setiap penerima memiliki kotak surat (kotak surat) yang terletak di server surat tertentu. Bob's Mailbox digunakan untuk mengelola dan memelihara pesan email yang telah dikirim kepadanya. Perjalanan khas pesan email dimulai dengan agen pengguna pengirim, server email pengirim, ditransfer ke server email penerima, dan kemudian dikirim ke alamat email penerima. Ketika Bob ingin melihat pesan email di kotak suratnya, server surat yang menyimpan kotak surat akan mengotentikasi dia dengan nama pengguna dan kata sandi yang disediakannya. Server email Alice juga harus menangani kegagalan server surat Bob. Jika server email Alice tidak dapat mengirimkan pesan surat ke server surat Bob segera, server Alice menyimpannya dalam antrian pesan dan kemudian mencoba mengirimkannya nanti. Upaya ini biasanya dilakukan setiap 30 menit atau lebih: jika upaya gagal untuk berhasil setelah beberapa hari, server menghapus pesan dari antrian pesan dan memberi tahu pengirim (mis. Alice) dengan pesan email lain.
e-mail
Email adalah metode komunikasi modern yang mentransmisikan dan menerima informasi dari satu sama lain melalui jaringan. Ini adalah metode komunikasi yang menyediakan pertukaran informasi dengan cara elektronik dan merupakan layanan yang paling banyak digunakan di Internet. Melalui sistem email jaringan, pengguna dapat menghubungi pengguna Internet di sudut dunia mana pun dengan harga yang sangat rendah dan dengan cara yang sangat cepat. Email -email ini dapat dengan berbagai cara seperti teks, gambar, suara, dll. Pada saat yang sama, pengguna bisa mendapatkan sejumlah besar berita gratis dan email khusus, dan menyadari pencarian informasi yang mudah.
Email terdiri dari dua bagian: amplop dan konten. Amplop juga disebut header surat, dan server email mengirimkan surat berdasarkan kepercayaan pada amplop. Konten disebut badan surat, yang digunakan untuk memberikan konten spesifik dari email.
Alamat email di internet adalah unik di seluruh dunia, dan formatnya adalah "Nama Email@Mail Server Domain Name". Domain (Mail Domain) adalah unit manajemen dasar dari server email. Layanan email berbasis domain, dan setiap kotak surat sesuai dengan satu pengguna. Nama domain server mail harus berupa nama domain DNS terdaftar dan harus mencocokkan catatan MX (sakelar surat). DNS digunakan untuk menyelesaikan nama domain dan nama host ke alamat IP. Catatan MX menunjuk ke catatan host server surat dari nama domain, dan didedikasikan untuk layanan surat.
Email perangkat lunak klien
Perangkat lunak klien email bertanggung jawab untuk berkomunikasi dengan server email, yang terutama digunakan untuk membantu pengguna mengirim email ke server SMTP dan server email POP3/IMAP untuk membaca email pengguna. Email perangkat lunak klien biasanya mengintegrasikan menulis, mengirim dan menerima email.
E-mail
Beberapa alamat email dapat dimulai di atas setiap server email, juga dikenal sebagai alamat email. Ini mirip dengan alamat surat kehidupan nyata di mana pengguna menerima dan mengirim email dari orang lain.
Mendapatkan email yang membutuhkan penerapan di server email. Tepatnya, email sebenarnya adalah akun yang berlaku pengguna di server email. Server email menyimpan surat yang diterima di ruang kotak surat yang dialokasikan untuk akun, dan pengguna masuk ke server surat melalui nama pengguna dan kata sandi yang dia minta untuk melihat pesan email yang telah diterima oleh alamat.
Proses transmisi email
Sistem email dalam mode klien/server. Pengiriman email membutuhkan 3 modul penting berikut:
UA (agen pengguna surat, agen pengguna surat): Pengguna menangani server email melalui itu. MUA sebenarnya adalah perangkat lunak klien surat.
MTA (agen transfer surat, agen transfer surat): Terutama bertanggung jawab untuk memproses semua surat yang diterima dan dikirim, menyediakan layanan pengiriman surat ke MUA atau MTA, dan menerima surat yang dikirim oleh MTA lainnya.
MDA (Agen Pengiriman Surat, Agen Pengiriman Surat): Bertanggung jawab atas pengiriman surat lokal. Ketika MTA memutuskan untuk mengirim email tertentu ke pengguna lokal, MTA menyerahkan email ke program MDA untuk distribusi, yaitu, dikirim ke pengguna.
Proses transmisi spesifik adalah sebagai berikut:
1. Pengirim menggunakan MUA untuk mengirim email ke MTA.
2. Setelah menerima email, MTA menentukan apakah penerima adalah akun lokal. Jika ini adalah akun lokal, itu akan diserahkan kepada MDA ke alamat email akun, lengkapi proses pengiriman dan lewati ke langkah 5. Jika tidak, lakukan langkah berikutnya.
3. MTA memutuskan cara meneruskan email berdasarkan pengaturan penerusan relay emailnya.
4. MTA dari tujuan terakhir akan menyerahkan MDA ke pemrosesannya, dan MDA akan mengirimkan email ke alamat email penerima.
5. Penerima menggunakan MUA untuk terhubung ke server di mana alamat email berada melalui protokol POP/IMAP, dan meminta untuk memeriksa apakah ada email di kotak masuknya. Jika ada email, MUA penerima akan ditransmisikan melalui itu.
Catatan: Layanan akses email diminta untuk menjadi perangkat lunak Pop atau IMAP Server, bukan MTA yang menerima email. Peran keduanya dipisahkan.
Protokol Transfer Surat
Transmisi layanan email terutama menggunakan tiga protokol jaringan berikut
SMTP (protokol transfer surat sederhana)
SMTP adalah protokol transfer surat sederhana. Port TCP standar adalah 25. MUA mengirimkan email ke MTA, dan MTA mengirimkan email ke MTA berikutnya, yang keduanya perlu menggunakan SMTP. Tujuan SMTP adalah untuk mengirimkan surat secara andal dan efisien, itu tidak tergantung pada subsistem pengiriman dan hanya membutuhkan satu saluran yang menjamin urutan unit data untuk dikirim.
SMTP adalah protokol "satu arah" yang tidak dapat dikumpulkan oleh pengguna dari server surat lainnya. Itu sendiri mengadopsi mode klien/server. Proses SMTP yang bertanggung jawab untuk mengirim surat adalah klien SMTP, dan proses SMTP yang bertanggung jawab untuk menerima surat adalah server SMTP. Proses komunikasi SMTP yang lengkap terutama mencakup tiga proses: membuat koneksi, mengirimkan surat, dan melepaskan koneksi.
Menetapkan koneksi: Pertama, pengirim mengirim email ke cache email. Klien SMTP memindai cache email secara teratur. Setelah ada pesan, itu membuat koneksi TCP dengan server SMTP, dan kemudian mengirim perintah hrllo untuk melampirkan nama host pengirim.
Email Pengiriman: Klien SMTP menggunakan perintah surat untuk mulai mengirim email, yang menyediakan alamat pengirim; kemudian mengeksekusi perintah RCPT dan memberikan alamat penerima; Akhirnya jalankan perintah data untuk mentransfer konten email.
Lepaskan koneksi: Setelah surat dikirimkan, klien SMTP mengirimkan perintah keluar untuk meminta untuk menutup koneksi TCP.
Pop (Perjanjian Kantor Pos)
Pop adalah protokol kantor pos. Port TCP standar adalah 110. terutama digunakan untuk menerima email. MUA terhubung ke kotak masuk pengguna MTA melalui protokol pop untuk membaca atau mengunduh surat pengguna di kotak masuk.
Protokol pop yang saat ini digunakan adalah POP3. POP3 menggunakan TCP sebagai protokol transmisi.
IMAP (Protokol Akses Informasi Internet)
IMAP adalah protokol akses pesan internet. Port TCP standar adalah 143, yang juga memungkinkan MUA untuk mengumpulkan surat dari MTA. Versi protokol IMAP bola target adalah IMAP4.
Baik POP dan IMAP dapat digunakan untuk mengumpulkan email, baik dalam mode klien/server. Perbedaan utama antara keduanya adalah bahwa mereka mengambil email secara berbeda. Saat menggunakan POP, email berada di server. Setelah email diterima, email diunduh dari server ke komputer pengguna. IMAP dapat memahami situasi di mana surat disimpan di server, dan surat yang diunduh masih macet di server untuk memfasilitasi pengarsipan dan berbagi surat.
Javamail
1. Pengantar Javamail
Javamail, sesuai namanya, menyediakan antarmuka pemrograman bagi pengembang untuk memproses email. Ini adalah API yang dirilis oleh Sun untuk menangani email. Ini dapat dengan mudah melakukan beberapa transfer surat yang umum digunakan. JAVAMAIL API adalah paket pengembangan standar yang disediakan oleh Sun untuk memfasilitasi pengembang Java untuk mengimplementasikan fungsi pengiriman dan penerima email dalam aplikasi. Ini mendukung beberapa protokol email yang umum digunakan, seperti SMTP, POP3, dan IMAP. Ketika pengembang menggunakan JAVAMAIL API untuk menulis perangkat lunak pemrosesan email, mereka tidak perlu mempertimbangkan detail implementasi dari protokol surat yang mendasari, cukup hubungi kelas API yang sesuai dalam paket pengembangan Javamail.
2. Lingkungan Pengembangan Javamail
Sebelum pengembangan Javamail, Anda harus mengimpor paket JAR yang sesuai. Paket JAR dapat diunduh dari situs web resmi Oracle: http://www.oracle.com/technetwork/java/javamail/index.html.
Setelah unduhan selesai, Anda bisa mendapatkan direktori berikut:
Di antara mereka, Mail.jar: adalah paket pengembangan inti yang harus digunakan untuk mengembangkan program Javamail.
Lib Subdirektori: Direktori ini berisi 5 paket pengembangan email independen: Smtp.jar, Pop3.jar, imap.jar dan mailapi.jar. 5 file JAR ini diklasifikasikan kemasan untuk file mail.jar. Di antara mereka, Mailapi.jar merangkum kelas API yang membuat konten surat dan memanggil surat yang mengirim dan menerima kepada pengembang biasa, sementara tiga file JAR lainnya merangkum program implementasi layanan dengan nama mereka sesuai dengan protokol. . Saat menyusun program Java Mail, Anda hanya memerlukan file Mailapi.jar, tetapi saat runtime, Anda harus memiliki program implementasi layanan yang mendasarinya dari protokol surat yang sesuai. Jika Anda hanya perlu menggunakan fungsi pengiriman surat di aplikasi, Anda hanya dapat menginstal dua file smtp.jar dan mailapi.jar. Jika Anda hanya perlu menggunakan fungsi penerima surat, Anda hanya dapat menginstal dua file jar.
Direktori LIB adalah sebagai berikut:
3. Pengantar Javamail API
API Javamail biasanya dibagi menjadi tiga kategori berikut sesuai dengan fungsinya:
1. Buat dan parse API Konten Email. Kelas pesan adalah API inti untuk membuat dan menguraikan email. Objek instannya mewakili email.
2. API untuk mengirim email. Kelas transportasi adalah kelas API inti untuk mengirim surat. Objek contohnya mewakili objek pengiriman surat yang mengimplementasikan protokol pengiriman surat tertentu, seperti protokol SMTP.
3. API untuk menerima email. Kelas toko adalah kelas API inti untuk menerima surat. Objek contohnya mewakili objek penerima email yang mengimplementasikan protokol penerima email tertentu, seperti protokol POP3.
Alur kerja Javamail adalah sebagai berikut:
Dalam alur kerja ini, empat objek, pesan, sesi, transportasi, dan toko, terhubung erat untuk mengirim dan menerima email. Kami hanya perlu memahami fungsi dan fungsi dari keempat API inti ini, mengetahui hubungan kerja mereka dan alur kerja email, dan kami dapat dengan mudah menulis Javamail. Untuk kelas tambahan Javamail, ketika kita membutuhkannya, kita dapat mengikuti petunjuk dan memeriksa dokumen untuk menyelesaikan masalah.
Pengantar API Inti:
Pesan
Kelas pesan adalah API inti untuk membuat dan parsing mail, dan objek instannya mewakili email. Ketika klien mengirim email, pertama -tama gunakan API email, merangkum data email yang dibuat ke objek pesan, dan kemudian meneruskan objek ini ke email yang mengirim API untuk mengirimkannya. Ketika klien menerima email, email yang menerima API menginstal data harga oli yang diterima di objek contoh pesan, dan klien menggunakan email parsing API untuk menguraikan data email yang diterima dari objek ini.
Sidang
Kelas sesi digunakan untuk menentukan informasi lingkungan yang diperlukan oleh seluruh aplikasi, serta untuk mengumpulkan informasi sesi untuk klien untuk membuat koneksi jaringan dengan server surat, seperti nama host, nomor port, dan protokol pengiriman dan penerima yang digunakan. Objek sesi membangun objek toko dan transportasi untuk mengirim dan menerima surat berdasarkan informasi sesi ini, dan memberikan dukungan informasi bagi klien untuk membuat objek pesan.
Mengangkut
Kelas transportasi adalah kelas API inti untuk mengirim surat. Objek contohnya mewakili objek pengiriman surat yang mengimplementasikan protokol pengiriman surat tertentu, seperti protokol SMTP. Setelah program klien membuat objek pesan, ia hanya perlu menggunakan email pengiriman API untuk mendapatkan objek transportasi, kemudian meneruskan objek pesan ke objek transportasi, dan memanggil metode pengirimannya untuk mengirim email ke server SMTP yang ditentukan.
Toko
Kelas toko adalah kelas API inti untuk menerima surat. Objek contohnya mewakili objek penerima surat yang mengimplementasikan protokol penerima surat tertentu, seperti protokol POP3 dan IMAP. Ketika program klien menerima surat, ia hanya perlu menggunakan API yang menerima surat untuk mendapatkan objek Store, dan kemudian hubungi metode penerima objek toko untuk mendapatkan data surat dari server POP3 yang ditentukan dan merangkum data surat ke dalam objek pesan yang mewakili surat.
Iv. Contoh
kelas publik javaMail_01 {public static void main (string [] args) melempar pengecualian {properti props = properti baru (); props.setProperty ("mail.smtp.auth", "true"); props.setProperty ("mail.transport.protocol", "smtp"); Sesi sesi = session.getInstance (alat peraga); session.setDebug (true); Pesan msg = mimemessage baru (sesi); msg.setsubject ("Ini adalah program uji ..."); msg.setText ("Halo! Ini adalah program Javamail pertama saya ---- Chen Ming"); msg.setfrom (new internetAddress ("******@163.com")); Transport transport = session.getTransport (); transport.connect ("smtp.163.com", 25, "*********", "************"); transport.sendMessage (msg, alamat baru [] {new internetAddress ("[email protected]")}); System.out.println ("Email berhasil dikirim ..."); transport.close (); }}