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

Bagaimana untuk melaksanakan fungsi penghantaran e-mel dalam springboot

PHPz
PHPzke hadapan
2023-05-13 10:10:061436semak imbas

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>

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");
    }
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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam