Loading

Quipoin Menu

Learn • Practice • Grow

spring / JavaMail Overview
interview

Q1. How does Spring support email sending?
Spring provides a MailSender interface (JavaMailSenderImpl) for sending emails. It abstracts the underlying JavaMail API, making it easier to send simple or MIME messages. You configure a mail sender bean with host, port, credentials, etc.

Q2. What is JavaMailSender?
JavaMailSender is a subinterface of MailSender that adds support for MIME messages and more. It's typically implemented by JavaMailSenderImpl. It can send SimpleMailMessage or MimeMessage.

Q3. How do you send a simple email using Spring?
Configure JavaMailSender bean, then use it:
SimpleMailMessage message = new SimpleMailMessage(); message.setTo("to@example.com"); message.setSubject("Test"); message.setText("Hello"); mailSender.send(message);

Q4. What configuration is needed for email in Spring Boot?
Add spring-boot-starter-mail dependency. In application.properties, set spring.mail.host, spring.mail.port, spring.mail.username, spring.mail.password, etc. Spring Boot auto-configures JavaMailSender bean.

Q5. How do you handle email sending asynchronously?
You can use @Async with a thread pool to send emails asynchronously to avoid blocking the main thread. Enable @EnableAsync and annotate a service method with @Async.