Spring Boot Bean Listesi E-posta Gönderimi

Spring Boot Bean Listesi E-posta Gönderici Rehberi

Spring Boot Bean Listesi E-posta Gönderici Rehberi

Bu rehber, Spring Boot uygulamanızda tüm bean'lerin listesini alıp e-posta olarak göndermeyi açıklamaktadır. Bu işlemi gerçekleştirmek için bir ApplicationListener veya CommandLineRunner kullanabilirsiniz.

Adımlar

  1. E-posta gönderimi için Spring Boot Mail starter'ını projenize ekleyin.
  2. Uygulama özelliklerinde e-posta ayarlarını yapılandırın.
  3. Tüm bean'leri listelemek ve e-posta göndermek için bir CommandLineRunner oluşturun.

Uygulama

1. pom.xml'e Ekleme

pom.xml dosyanıza Spring Boot Mail starter'ını ekleyin:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2. E-posta Ayarları

application.properties veya application.yml dosyanızda e-posta ayarlarını yapılandırın:

spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=your-email@gmail.com
spring.mail.password=your-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

3. Bean Listesi ve E-posta Gönderimi

Aşağıdaki BeanListerEmailSender sınıfını projenize ekleyin:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.ApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;

import java.util.Arrays;

@Component
public class BeanListerEmailSender implements CommandLineRunner {

    @Autowired
    private ApplicationContext applicationContext;

    @Autowired
    private JavaMailSender emailSender;

    @Override
    public void run(String... args) {
        String[] beanNames = applicationContext.getBeanDefinitionNames();
        Arrays.sort(beanNames);

        StringBuilder messageBody = new StringBuilder("Spring Boot Bean Listesi:\n\n");
        for (String beanName : beanNames) {
            messageBody.append(beanName).append("\n");
        }

        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("sender@example.com");
        message.setTo("recipient@example.com");
        message.setSubject("Spring Boot Bean Listesi");
        message.setText(messageBody.toString());

        emailSender.send(message);

        System.out.println("Bean listesi e-posta olarak gönderildi.");
    }
}

Notlar

  • Uygulamanızı çalıştırdığınızda, tüm bean'lerin listesi belirttiğiniz e-posta adresine gönderilecektir.
  • Kodda gönderen ve alıcı e-posta adreslerini kendi ihtiyaçlarınıza göre değiştirmeyi unutmayın.
  • Prodüksiyon ortamında, şifreleri doğrudan kod içinde veya yapılandırma dosyalarında saklamak yerine, güvenli bir şekilde yönetilen ortam değişkenleri veya şifre yönetim sistemleri kullanmanız önerilir.

Bu yaklaşım, Spring Boot uygulamanız başlatıldığında otomatik olarak çalışacak ve tüm bean'lerin listesini e-posta olarak gönderecektir.

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال