Как программно отправить на почту письмо в java?

Пользователь

от akeem , в категории: Java , 2 месяца назад

Как программно отправить на почту письмо в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от adrien.waters , 2 месяца назад

@akeem 

Для отправки электронной почты в Java можно использовать библиотеку JavaMail. Ниже приведен пример кода, демонстрирующий, как отправить электронное письмо через JavaMail:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class SendEmail {

    public static void main(String[] args) {

        // Настройки SMTP-сервера и отправителя
        String host = "smtp.example.com";
        String port = "587";
        String username = "[email protected]";
        String password = "yourpassword";

        // Настройки получателя
        String to = "[email protected]";

        // Настройки сообщения
        String subject = "Test email";
        String message = "This is a test email.";

        // Настройка свойств для соединения с SMTP-сервером
        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", port);

        // Создание сессии для отправки сообщения
        Session session = Session.getInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                });

        try {
            // Создание сообщения
            Message mimeMessage = new MimeMessage(session);
            mimeMessage.setFrom(new InternetAddress(username));
            mimeMessage.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
            mimeMessage.setSubject(subject);
            mimeMessage.setText(message);

            // Отправка сообщения
            Transport.send(mimeMessage);

            System.out.println("Email sent successfully.");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }
}


В этом примере кода используется SMTP-сервер "smtp.example.com" на порту "587". Чтобы использовать этот код, вам нужно заменить значения переменных "host", "port", "username" и "password" на настройки вашего SMTP-сервера и учетные данные отправителя. Кроме того, замените значение переменной "to" на адрес электронной почты получателя, а значения переменных "subject" и "message" на тему и текст вашего сообщения.