SpringSendGridV2Configurer.java
- package fr.sii.ogham.spring.v1.email;
- import org.springframework.boot.autoconfigure.sendgrid.SendGridProperties;
- import com.sendgrid.SendGrid;
- import fr.sii.ogham.core.builder.MessagingBuilder;
- import fr.sii.ogham.email.sendgrid.builder.AbstractSendGridBuilder;
- import fr.sii.ogham.email.sendgrid.v2.builder.sendgrid.SendGridV2Builder;
- import fr.sii.ogham.email.sendgrid.v2.sender.impl.sendgrid.client.DelegateSendGridClient;
- import fr.sii.ogham.spring.email.AbstractSpringSendGridConfigurer;
- import fr.sii.ogham.spring.email.OghamSendGridProperties;
- public class SpringSendGridV2Configurer extends AbstractSpringSendGridConfigurer {
- public SpringSendGridV2Configurer(OghamSendGridProperties properties, SendGridProperties springProperties, SendGrid sendGrid) {
- super(properties, springProperties, sendGrid);
- }
- @Override
- protected Class<? extends AbstractSendGridBuilder<?, ?>> getSendGridBuilderClass() {
- return SendGridV2Builder.class;
- }
- @Override
- protected void useSpringSendGridClient(MessagingBuilder builder) {
- // @formatter:off
- builder.email()
- .sender(SendGridV2Builder.class)
- .client(new DelegateSendGridClient(sendGrid));
- // @formatter:on
- }
- @Override
- protected void useOghamSendGridClientWithSpringProperties(MessagingBuilder builder) {
- super.useOghamSendGridClientWithSpringProperties(builder);
- // @formatter:off
- builder.email()
- .sender(SendGridV2Builder.class)
- .username(springProperties.getUsername())
- .password(springProperties.getPassword());
- // @formatter:on
- }
- }