Настройка отправителя почты с использованием конфигурации Java в Spring Cloud AWS - PullRequest
0 голосов
/ 29 мая 2019

Я хочу отправлять электронные письма, используя Amazon SES, Spring Cloud AWS и Spring Boot 2.1.5.

В документации он предоставляет XML для настройки отправителя почты.Есть ли способ использовать конфигурацию Java вместо XML?

1 Ответ

0 голосов
/ 30 мая 2019

Получил работу, вот что я сделал.

  1. Построить зависимости
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.cloud:spring-cloud-starter-aws'
    implementation 'com.amazonaws:aws-java-sdk-ses'
  1. Конфиг бин
@Configuration
public class AwsConfig {

    @Bean
    public AmazonSimpleEmailService amazonSimpleEmailService(AWSCredentialsProvider credentialsProvider) {
         return AmazonSimpleEmailServiceClientBuilder.standard()
            .withCredentials(credentialsProvider)
            .withRegion(Regions.EU_WEST_1).build();
    }

    @Bean
    public MailSender mailSender(AmazonSimpleEmailService ses) {
        return new SimpleEmailServiceMailSender(ses);
    }    
}
  1. NotificationService
@Service
public class NotificationService {

    @Autowired
    private MailSender mailSender;

    public void sendMailMessage() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom("sender@mail.com");
        simpleMailMessage.setTo("to@mail.com");
        simpleMailMessage.setSubject("test subject");
        simpleMailMessage.setText("test text");
        this.mailSender.send(simpleMailMessage);
    }
}
  1. application.yml
cloud:
  aws:
    credentials:
      accessKey: <YOUR_ACCESS_KEY>
      secretKey: <YOUR_SECRET_KEY>
    stack:
      auto: false

Надеюсь, это поможет.

...