Rumah >Java >javaTutorial >E-mel Java
Menghantar e-mel melalui proses java adalah proses yang mudah dan mudah dicapai. Proses ini adalah proses segera, dua item wajib untuk proses e-mel berasaskan java ialah JavamailAPI dan rangka kerja JAF. Ini adalah dua bahagian utama untuk menaikkan e-mel di java. Bahagian ini menjadikan proses peningkatan e-mel lebih mudah dalam aplikasi berasaskan java. API mel Java dan JAF boleh dimuat turun dari tapak web standard java. Pelayan smtp juga boleh digunakan untuk menghantar e-mel. Penggunaan pelayan SMTP ini ialah kaedah alternatif penjanaan e-mel. Memasang dan menggunakan pelayan SMTP seperti pelayan podcast dan pelayan Apache James ialah cara alternatif untuk perkara yang sama.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Langkah utama dalam menghantar e-mel adalah seperti berikut,
1) Mendapatkan semula objek sesi.
2) Karang mesej yang ingin dihantar.
3) Menghantar mesej.
Mari bincangkan setiap langkah ini secara terperinci, langkah pertama mendapatkan semula objek sesi bertanggungjawab untuk menarik objek berasaskan sesi. Setiap sesi yang dibuat mungkin mempunyai objek yang dikaitkan dengannya. Objek ini akan digandingkan rapat dengan maklumat yang berkaitan dengan sesi. Untuk mendapatkan semula objek yang sepadan dengan sesi javax. mel.Kelas sesi perlu digunakan. Kelas ini mempunyai dua kaedah berbeza untuk mendapatkan butiran contoh objek. Jadi dua kaedah terbina dalam digunakan untuk mendapatkan semula butiran contoh objek ialah Sesi. kaedah getdefaultinstance() dan Sesi. kaedah getinstance(). Ini adalah dua kaedah utama untuk menarik butiran objek yang berkaitan. Untuk mendapatkan semula objek sesi itu sendiri mana-mana kaedah di bawah boleh digunakan untuk kes sedemikian,
s.no | Method details | Description |
1 | public static Session getDefaultInstance(Properties p) | default session value will be returned |
2 | public static Session getDefaultInstance(Properties p,Authenticator a) | default session value will be returned |
3 | public static Session getInstance(Properties prop) | Value associated to the new session will be returned |
4 | public static Session getInstance(Properties prop,Authenticator a) | Value associated to the new session will be returned |
Karang mesej: Ini adalah langkah yang sangat kritikal untuk dipertimbangkan dalam proses ini. Langkah tersebut melibatkan proses merumuskan mesej asal yang dimaksudkan daripada sumber. Oleh itu, memandangkan bahagian ini berkaitan dengan mesej asal, ini adalah bahagian yang sangat kritikal untuk dipertimbangkan. Untuk proses pengkomposan berlaku, javax.mail.message digunakan. Kelas ini membolehkan untuk membingkai mesej dengan canggih. Kelas ini berada pada tahap operasi abstrak jadi subkelas yang sama dipanggil javax.mail.internet.MimeMessage lebih khusus digunakan untuk proses ini. Sesi dan mesej yang berkaitan akan ditimbun menggunakan segmen kod di bawah. Jadi kod ini digunakan untuk menggabungkan mesej dan butiran sesi MimeMessage message=new MimeMessage(session);
Menghantar mesej: Proses terakhir dalam bahagian ini ialah menghantar mesej. javax itu. mel. Kelas pengangkutan digunakan untuk tujuan ini. Hasrat kelas ini adalah untuk mencetuskan proses penghantaran mesej. Jadi untuk lebih spesifik, proses penghantaran mesej boleh dicapai dengan sangat khusus melalui javax. mel.mesej pengangkutan secara khusus. Dari perspektif pengekodan, coretan kod Pengangkutan. hantar(mesej); digunakan tepat untuk proses ini.
No. | Method | Description |
1 | public static void send(Message m) | The given method is used for sending the message. So transport of the message can be achieved by means of this method. |
2 | public static void send(Message m, Address[] address) | For sending the message to one specific address this method is used. |
Kod:
import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class Initiateemail { public static void main(String [] args) { // email id of the recipient has to be mentioned in this field String to = "[email protected]"; // email id of the sender needs to be mentioned here String from = "[email protected]"; // Assuming you are sending email from localhost String host = "localhost"; // All details associated to the property are mentioned here Properties prop = System.getProperties(); // this is the step were the property setup can be eastablished prop.setProperty("mail.smtp.host", host); Session ses = Session.getDefaultInstance(prop); try { // onject associated to the message is initiated here MimeMessage mess = new MimeMessage(ses); // header details are decided and set here. mes.setFrom(new InternetAddress(from)); // header field details are created here mes.addRecipient(Mes.RecipientType.TO, new InternetAddress(to)); // subject details of the message are given here mes.setSubject("Hello world message . . . . . . . . . . . subject starts "); // Actual message of the email is given here message.setText("Hello world . . . . . . . . . . . . . . . Message Ends"); // transport object is used for initiating the message Transport.send(mes); System.out.println("message has been sent successfully . . . . . "); } catch (MessagingException mex) { mex.printStackTrace(); } } }
Output:
Kod:
import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendEmail { public static void main(String [] args) { String to = "[email protected]"; String from = "[email protected]"; String host = "localhost"; Properties prop = System.getProperties(); prop.setProperty("mail.smtp.host", host); Session ses = Session.getDefaultInstance(prop); try { MimeMessage mess = new MimeMessage(ses); mes.setFrom(new InternetAddress(from)); mes.addRecipient(Mes.RecipientType.TO, new InternetAddress(to)); mes.setSubject("Hello world message . . . . . . . . . . . subject starts "); message.setText("Hello world . . . . . . . . . . . . . . . Message Ends"); mp.addBodyPart(mbp); mbp = new MimeBodyPart(); String fl = "newfile.txt"; DataSource src= new FileDataSource(fl); mbp.setDataHandler(new DataHandler(src)); mbp.setFileName(filename); mp.addBodyPart(mbp); messetContent(mp ); Transport.send(mes); System.out.println("message has been sent successfully . . . . . "); } catch (MessagingException mex) { mex.printStackTrace(); } } }
Output:
Artikel itu menerangkan tentang cara mesej e-mel java boleh disediakan dan apakah kelas yang terlibat dalam menetapkan mesej e-mel juga ia menerangkan program untuk menghantar e-mel dan juga menghantar e-mel dengan fail yang dilampirkan padanya.
Atas ialah kandungan terperinci E-mel Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!