Giriş
Açıklaması şöyle
Spring JavaMail ile birleştirmek için şu sınıfları sunuyor.
1.MailSender Interface
2.JavaMailSender Interface
3.JavaMailSenderImpl Class
4.SimpleMailMessage Class
5.MimeMessagePreparator Interface
6.MimeMessageHelper Class
Bu arayüz org.springframework.mail.MailSender arayüzünden kalıtır. Açıklaması şöyle.
Örnek
Bazı kodlarda şöyle yapılıyor ancak MailSender arayüzünden kalıtan başka arayüz olmadığı için direkt JavaMailSender arayüzü de kullanılabilir.
Şöyle yaparız.
Örnek - Sadece Metin
Şöyle yaparız. Spring javax.mail.internet.MimeMessage sınıfından kalıtan org.springframework.mail.SimpleMailMessage sınıfını sağlar. Bu sınıf ile eklenti gönderilemez.
Daha karmaşık (örneğin eklenti içeren) mesajlar göndermek için MimeMessageHelper kullanılabilir. Şöyle yaparız.
org.springframework.mail.javamail.MimeMessagePreparator callback olarak kullanılan bir arayüz.
Örnek
Şöyle yaparız.
Açıklaması şöyle
The JavaMailSender is a class provided by Spring Boot Starter Mail and configured using a properties file.
Spring JavaMail ile birleştirmek için şu sınıfları sunuyor.
1.MailSender Interface
2.JavaMailSender Interface
3.JavaMailSenderImpl Class
4.SimpleMailMessage Class
5.MimeMessagePreparator Interface
6.MimeMessageHelper Class
Bu arayüz org.springframework.mail.MailSender arayüzünden kalıtır. Açıklaması şöyle.
It is sub-interface of MailSender. It supports MIME messages and is used with MimeMessageHelper class. It is used for creating JavaMail MimeMessage. MimeMessagePreparator mechanism is recommended for the use of this interface.Bu sınıfın host,username,password,javaMailProperties alanları doldurulur daha sonra send() metodu çağrılır.
Örnek
Bazı kodlarda şöyle yapılıyor ancak MailSender arayüzünden kalıtan başka arayüz olmadığı için direkt JavaMailSender arayüzü de kullanılabilir.
public class FooImpl implements Foo {
private MailSender mailSender;
...
}
Şöyle yaparız.@Service
public class EmailService {
@Autowired
private JavaMailSender mailSender;
...
}
createMimeMessage metoduŞöyle yaparız.
MimeMessage message = mailSender.createMimeMessage();
send metodu - MimeMessage
javax.mail.internet.MimeMessage nesnesi gönderir.Örnek - Sadece Metin
Şöyle yaparız. Spring javax.mail.internet.MimeMessage sınıfından kalıtan org.springframework.mail.SimpleMailMessage sınıfını sağlar. Bu sınıf ile eklenti gönderilemez.
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setFrom("some mail");
mailMessage.setSubject(title);
mailMessage.setText(body);
String to = ...;
mailMessage.setTo(to);
mailSender.send(mailMessage);
ÖrnekDaha karmaşık (örneğin eklenti içeren) mesajlar göndermek için MimeMessageHelper kullanılabilir. Şöyle yaparız.
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setText("Test body");
helper.setSubject("Test subject");
helper.setTo("mail@gmail.com");
sender.send(message);
send metodu - MimeMessagePreparatororg.springframework.mail.javamail.MimeMessagePreparator callback olarak kullanılan bir arayüz.
Örnek
Şöyle yaparız.
MimeMessagePreparator messagePreparator = ...;
mailSender.send(messagePreparator);