Ishning maqsadi: Talabalarda Java dasturlash tili javax.mail.* va java.util.* paketlari klasslaridan foydalanib elektron pochta bilan ishlovchi dastur yaratish bo‘yicha amaliy ko‘nikmalar hosil qilish.
Nazariy qism: JavaMail API elektron pochta ilovalarini yaratishda platformaga bog‘liq bo‘lmagan va protokolga bog‘liq bo‘lmagan freymvorklarni qo‘llab quvvatlaydi. JavaMail API elektron pochta tizimini o‘z ichiga oluvchi obyektlarni aniqlovchi abstrakt klasslar to‘plamini ta’minlaydi. Bu elektron pochtani o‘qish, yozish va jo‘natish uchun paketdir. Quyida JavaMail APIda qo‘llab-quvvatlanadigan ba’zi protokollar keltirilgan:SMTP: Simple Mail Transfer Protocol. Elektron pochtani jo‘natish mexanizmini ta’minlaydi. POP3: Post Office Protocol. Elektron pochtani qabul qilish mexanizmini qo‘llab-quvvatlaydi. Har bir foydalanuvchiga bitta pochta qutisini qo‘llab quvvatlashni aniqlaydi. RFC 1939 ushbu protokolni aniqlaydi. IMAP4: Internet Message Access Protocol. Elektron pochtani qabul qilish mexanizmini qo‘llab-quvvatlaydigan mukammal protokoldir. Har bir foydalanuvchiga bir-nechta pochta qutilarini ta’minlaydi. Qo‘shimcha sifatida pochta qutisi bir-nechta foydalanuvchilarga taqsimlanishi mumkin. RFC 2060da aniqlangan. MIME: Multipurpose Internet Mail Extensions. Bu elektron pochtani ko‘chirish protokoli emas. Bu nima ko‘chirilayotganini, ya’ni elektron pochta tarkibi (formati, ilovalari)ni aniqlaydi. JavaMail API elektron pochtalarni yozish, qabul qilish va jo‘natish uchun qo‘llaniladi. JavaMail API klasslari. JavaMail API elektron pochta xabarlarni jo‘natish, o‘qish va o‘chirishni amalgan oshiradigan ba’zi klasslarni o‘z ichiga oladi. JavaMail APIda tez-tez foydalanib turiladigan turiladigan ikkita javax.mail va javax.mail.internet paketlari mavjud. Ushbu paketlar JavaMailning asosiy klasslarini o‘z ichiga oladi
********************************************* import java.util.Date; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendAttachmentInEmail { public static void main(String[] args) throws MessagingException { sendPlainTextEmail("smtp.mail.ru", "587", "rasuljonovnurali04@gmail.com", "qgsnfbkmybvthnea", "hikmatilloxolmurodov02@gmail.com", "Tatu", "Hikmatillo 430 gruh talabasi"); } public static void sendPlainTextEmail(String host, String port, final String userName, final String password, String toAddress, String subject, String message) throws AddressException, MessagingException { // sets SMTP server properties Properties properties = new Properties(); properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", port); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.starttls.enable", "true"); // *** BEGIN CHANGE properties.put("mail.smtp.user", userName); // creates a new session, no Authenticator (will connect() later) Session session = Session.getDefaultInstance(properties); // *** END CHANGE // creates a new e-mail message Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(userName)); InternetAddress[] toAddresses = {new InternetAddress(toAddress)}; msg.setRecipients(Message.RecipientType.TO, toAddresses); msg.setSubject(subject); msg.setSentDate(new Date()); // set plain text message msg.setText(message); // *** BEGIN CHANGE // sends the e-mail Transport t = session.getTransport("smtp"); t.connect(userName, password); t.sendMessage(msg, msg.getAllRecipients()); t.close(); // *** END CHANGE }