Spring Boot

Send email from Spring Boot using the MailSetu REST API with RestTemplate or WebClient.

Maven dependency

xml
<dependency>
  <groupId>in.mailsetu</groupId>
  <artifactId>mailsetu-java</artifactId>
  <version>0.2.6</version>
</dependency>

Configuration

yaml
# application.yml
mailsetu:
  api-key: ${MAILSETU_API_KEY}

Bean setup

java
@Configuration
public class MailSetuConfig {
    @Value("${mailsetu.api-key}")
    private String apiKey;

    @Bean
    public MailSetu mailSetu() {
        return new MailSetu(apiKey);
    }
}

Send an email

java
@Service
public class EmailService {
    @Autowired private MailSetu mailSetu;

    public void sendWelcome(String toEmail, String name) {
        var result = mailSetu.emails().send(Map.of(
            "from", "noreply@yourdomain.com",
            "to", List.of(toEmail),
            "subject", "Welcome, " + name + "!",
            "html", "<p>Thanks for signing up!</p>"
        ));
        log.info("Sent: {}", result);
    }
}