0

次のコードを使用して、Java でメールを送信しています。エラーは発生しませんが、メールが届かないようです(スパムでもなく、ほぼ1日待っています)

List<SimpleMailMessage> messages = new ArrayList<>();
...
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.gmail.com");
sender.setPort(587);
sender.setUsername("mysecretemail@gmail.com");
sender.setPassword("mysecretpassw0rd");
sender.setProtocol("smtp");
Properties mailProperties = new Properties();
mailProperties.setProperty("mail.smtp.auth", "true");
mailProperties.setProperty("mail.smtp.starttls.enable", "true");
mailProperties.setProperty("mail.smtp.quitwait", "false");

mailProperties.setProperty("mail.debug", "true");
sender.setJavaMailProperties(mailProperties);
sender.send(messages.toArray(new SimpleMailMessage[messages.size()]));
4

1 に答える 1

0

アカウントへの POP/IMAP アクセスを有効にしたかどうかを確認してください。私の記憶が正しければ、SMTP が機能するには有効にする必要があります。Java メールのプロパティに関しては、このコードは数年前に機能していました。

    Session mailSession = Session.getDefaultInstance(new Properties(), null);
    Properties props = mailSession.getProperties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.auth", "true");
    props.put("mail.debug", "true");
    props.put("mail.smtp.port", "465");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.socketFactory.fallback", "false");
于 2013-03-01T23:20:26.007 に答える