Email yuborish (SMTP)

Daraja: O'rta

Java'dan email yuborish uchun Jakarta Mail (eski nomi JavaMail) ishlatiladi. SMTP server manzili, porti va autentifikatsiya ma'lumotlari `Properties` orqali beriladi. Gmail uchun oddiy parol emas, App Password kerak. Parolni hech qachon kodga yozma — `.env` yoki `config.properties`da tut.

Tushuntirish

Java'dan email yuborish uchun Jakarta Mail (eski nomi JavaMail) ishlatiladi. SMTP server manzili, porti va autentifikatsiya ma'lumotlari `Properties` orqali beriladi. Gmail uchun oddiy parol emas, App Password kerak. Parolni hech qachon kodga yozma — `.env` yoki `config.properties`da tut.

Kod misoli

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");

Session session = Session.getInstance(props, new Authenticator() {
    @Override protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(USER, APP_PASSWORD);
    }
});

Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(USER));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("kimdir@mail.com"));
msg.setSubject("Java Kundaligi");
msg.setContent("<h2>Salom!</h2>", "text/html; charset=UTF-8");

Transport.send(msg);

Keng tarqalgan xatolar

Mashqlar

Teglar: email, smtp, tarmoq

Interaktiv ko'rinish (viktorina, izohlar, tarix)