Отправить письмо с помощью Spring Boot - PullRequest
0 голосов
/ 25 марта 2019

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

"Не удалось подключиться к хосту, порт: smtp.gmail.com, 587; время ожидания -1"

Я пытался изменить порт на "465".
Но я нашел ту же проблему.
В чем дело?
Спасибо

1 Ответ

0 голосов
/ 25 марта 2019

Я использую spring-boot-starter-mail 2.0.4.RELEASE в этом коде.

Я использую эту конфигурацию для smtp.gmail.com.

@Configuration
public class EmailSenderConfig {

    @Value("${mail.login}")
    private String login;

    @Value("${mail.password}")
    private String password;

    @Bean
    public JavaMailSender getJavaMailSender() {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        mailSender.setHost("smtp.gmail.com");
        mailSender.setPort(587);

        mailSender.setUsername(login); //login for google account "this.my.email@gmail.com" 
        mailSender.setPassword(password); // password for google account "thisMyPassword666"

        Properties props = mailSender.getJavaMailProperties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.debug", "true");

        return mailSender;
    }
}

Иэтот код для отправки сообщений

@Autowired
private JavaMailSender mailSender;

public void sendToken(String to) {
    SimpleMailMessage smm = new SimpleMailMessage();

    String token = String.valueOf(new Random().ints(MIN, MAX).findFirst().getAsInt());

    verificationService.saveTemporaryToken(to, token);

    smm.setTo(to);
    smm.setSubject(TITLE);
    smm.setText(token);

    mailSender.send(smm);
}

Сравните мой код с вашим, может быть, вы забыли что-то написать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...