O`zbekiston Respublikasi Axborot texnologiyalari Vazirligi Muhammad al - Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
Telekommunikatsiyada boshqaruv tizimlarining
apparat va dasturiy ta’minoti kafedrasi
Laboratoriya ishi №7
Tarmoqni Dasturlash Asoslari fani
Mavzu: Elektron pochta tarmoq dasturini yaratish
Bajardi: 410-18 Kamolov Alisher
Tekshirdi: Abdullayev U
Toshkent – 2021
Mavzu: Elektron pochta tarmoq dasturini yaratish.
Ishning maqsadi:
Java dasturlash tili javax.mail.* va java.util.* paketlari klasslaridanfoydalanib elektron pochta bilan ishlovchi dastur yaratish.
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‘llabquvvatlashni 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
2
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.
Dastur kodi:
package smtp;
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.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmailUsingGMailSMTP {
public static void main(String[] args) {
// Recipient's email ID needs to be mentioned.
String to = "kamolov9802@gmail.com";//change accordingly
// Sender's email ID needs to be mentioned
String from = "odiljonabduvaliyev31@gmail.com";//change accordingly
final String username = "odiljonabduvaliyev31";//change accordingly
final String password = "tuit1799";//change accordingly
// Assuming you are sending email through relay.jangosmtp.net
String host = "smtp.gmail.com";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", "587");
// Get the Session object.
Session session = Session.getInstance(props,new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(username, password);
}
});
try {
// Create a default MimeMessage object.
Message message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
// Set Subject: header field
message.setSubject("7-laboratoriya ishi");
// Now set the actual message
message.setText("7-laboratoriya ishi");
// Send message
Transport.send(message);
System.out.println("Xabar muvaffaqiyatli jo'natildi....");
} catch (MessagingException e) {
// throw new RuntimeException(e);
}
}
}
Do'stlaringiz bilan baham: |