Невозможно отправить электронную почту с помощью Java Mail - PullRequest
0 голосов
/ 01 апреля 2019

Я написал простую функцию, позволяющую отправлять почту по протоколу SMTP в моем веб-приложении. Функция выглядит примерно так:

public void sendEmail(String recipient,String subject,String content) {
    try {
        // Recipient's email ID needs to be mentioned.
        // String to = "example@hotmail.com";
        // Sender's email ID needs to be mentioned
        String from = "kobay@gmail.com";

        // Assuming you are sending email from localhost
        String host = "localhost";

        System.out.println("Please Wait, sending email...");

        /*Setup mail server */
        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", 587);

        // Get session
        Session session = Session.getDefaultInstance(props, null);
        session.setDebug(true);

        // Define message
        MimeMessage message = new MimeMessage(session);
        // Set From: header field of the header.
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
        // Set Subject: header field
        message.setSubject(subject);

        // Now set the actual message
        message.setText(content);

        try {
            Transport.send(message);
        } catch (AddressException addressException) {
            addressException.printStackTrace();
        }

Нет проблем с компиляцией, но когда я нажимаю кнопку отправки электронной почты и проверяю журнал Glassfish, он говорит:

 Couldn't connect to host, port: localhost, 587; timeout -1]]

Что я знаю, так это то, что мне нужно импортировать JAR-файл Java Mail API в мой проект. И это все та же ошибка.

Я совершил ошибку?

...