Rumah > Java > javaTutorial > Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

PHPz
Lepaskan: 2023-05-13 10:10:06
ke hadapan
1516 orang telah melayarinya

Menghantar e-mel ialah fungsi yang sangat biasa, dan pelaksanaannya dalam Java memerlukan antara muka JavaMailSender. Dalam projek springboot, kebergantungan bernama spring-boot-starter-mail perlu diperkenalkan Jika terdapat keperluan untuk format e-mel, anda boleh memperkenalkan kebergantungan spring-boot-starter-thymeleaf yang boleh mengendalikan fail html.

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
Salin selepas log masuk

adalah sama seperti modul konfigurasi automatik yang lain Selepas pengenalan kebergantungan selesai, nilai atribut yang sepadan perlu dikonfigurasikan dalam application.properties, jika tidak kaedah berjalan akan sentiasa melaporkan penunjuk nol.

1. Buat projek springboot baharu.

1. Buka idea, klik butang fail pada bar alat di sudut kiri atas, dan buat projek but baharu

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

2 pilih kebergantungan lalai, biasa Terdapat sambungan pangkalan data, web, dll.

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

3. Klik finsh dan tunggu direktori projek but dijana. Direktori pada masa ini tidak lengkap dan anda perlu menambah folder java dan sumber sendiri. Klik kanan item dan pilih

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

untuk menambahkannya.

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

4. Kemudian buka fail pom dan perkenalkan dependencies.

5. Buka fail konfigurasi dan tulis parameter yang sepadan.

2. Hantar e-mel Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

1. Buat kelas util dan tulis kelas perniagaan yang melaksanakan logik penghantaran Tidak perlu menulis kelas alat kerana saya ingin melaksanakan format semasa menghantar e-mel. E-mel dengan lampiran, gaya HTML dan operasi tak segerak Semua orang tahu bahawa menghantar e-mel sangat memakan masa, terutamanya tak segerak.

2. Tambah cara untuk menulis panggilan tak segerak:

*Tambah @Async untuk kaedah yang memerlukan kaedah tak segerak Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot *Perlu mendayakan tak segerak pada kaedah kelas permulaan, @EnableAsync

*Perhatikan bahawa ia mungkin disebabkan oleh proksi aop Jika kaedah yang dipanggil dan kod panggilan berada dalam kelas yang sama, ia hanya setara dengan panggilan kelas ini dan tiada kelas proksi. digunakan, jadi @Async Ia tidak mempunyai kesan, ia berada dalam kelas alat.

3 Kod: E-mel dengan lampiran

 @Test
    public void sendAttachmentsMail() {
        Context context = new Context();
        context.setVariable("agencyName", "11");
        context.setVariable("busTypeName", "22");
        context.setVariable("busAllowance", 33);
        String emailContent = templateEngine.process("emailTeplate", context);
 
        try {
            emailService.sendAttachmentsMail(new String[]{"xxx.com"}, "测试提示", emailContent);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("send mail success!,please wait a few mintens");
    }
Salin selepas log masuk
rrree
E-mel berjaya dihantar

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan