Я не получаю тестовое письмо на мой адрес электронной почты, используя JavaMail - PullRequest
0 голосов
/ 04 марта 2019

Я хочу иметь возможность отправлять почту данному получателю, если я нажму кнопку.Я написал для этого класс MailBean, но, похоже, он не работает, потому что я никогда не получаю почту на свой адрес электронной почты.Я тестировал свой код с помощью отладчика, и все выглядит нормально, за исключением того, что я ничего не получаю, даже в папке со спамом.

Я работаю с outlook.com в качестве хоста.

Вот мойкласс.

    public class MailBean {

    private final String USERNAME = "htlplus@outlook.com"; //the sender
    private final String PASSWORD = "*******";

    public Object sendMessage() {
        Properties prop = new Properties();
        prop.put("mail.smtp.auth", true);
        prop.put("mail.smtp.starttls.enable", "true");
        prop.put("mail.smtp.host", "smtp-mail.outlook.com");
        prop.put("mail.smtp.port", "587");

        Session session = Session.getInstance(prop, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(USERNAME, PASSWORD);
            }
        });

        try {
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("htlplus@outlook.com"));
            message.setRecipients(
                    Message.RecipientType.TO, InternetAddress.parse("andor98@gmail.com"));
            message.setSubject("Mail Subject");

            String msg = "This is my first email using JavaMailer";

            MimeBodyPart mimeBodyPart = new MimeBodyPart();
            mimeBodyPart.setContent(msg, "text/html");

            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(mimeBodyPart);

            message.setContent(multipart);

            Transport.send(message);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }
}
...