Как настроить весенний лимон для отправки писем через Sendgrid?

Я успешно отправил электронные письма через SMTP api sendgrid, без изменений в свой код spring-lemon. Я сделал это, просто настроив переменные среды на cloudfoundry.

Теперь я хотел бы использовать Java-библиотеку sendgrid

Затем я создал следующий класс

    SendGrid sendgrid = new SendGrid('api_key');

SendGrid.Email email = new SendGrid.Email();
email.addTo("example@example.com");
email.setFrom("other@example.com");
email.setSubject("Hello World");
email.setText("My first email with SendGrid Java!");

try {
  SendGrid.Response response = sendgrid.send(email);
  System.out.println(response.getMessage());
}
catch (SendGridException e) {
  System.err.println(e);
}

Как я могу заставить spring-lemon использовать этот класс вместо SmtpMailSender?

1 ответ

Решение

Наличие вашей пользовательской реализации MailSenderи конфигурирование этого как бина должно подавлять Spring Lemon's SmtpMailSender конфигурация, потому что Spring Lemon's MailConfiguration класс аннотируется @ConditionalOnMissingBean(MailSender.class), (См. Стр. 79 проектной книги - Предоставление разработчикам возможности предоставить свои реализации)

@ConditionalOnMissingBean печально известно, но я проверил его, чтобы работать в этом случае.

Другие вопросы по тегам