SpringBoot プロジェクトで電子メール タスクをすばやく作成する方法

SpringBoot プロジェクトで電子メール タスクをすばやく作成する方法

1.まず SpringBoot プロジェクトを作成します

提示:选择的java版本不要太高

ここに画像の説明を挿入します

ここでは Spring Web を選択しました

ここに画像の説明を挿入します


2.関連する依存関係を導入する

只需要引入这一个依赖即可

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

3. ソースコードを分析する

1. まず依存関係を導入し、名前に従ってメール自動構成名を見つけます - MailSenderAutoConfiguration

SpringBoot の自動構成原理を参照してください。

ここに画像の説明を挿入します

2. アクセスすると、MailProperties.class が表示され、ドリルインして、構成が必要なコンテンツを見つけます。

ここに画像の説明を挿入します

3. ホスト名、ユーザー名、パスワードなどを設定する必要があることを確認します。

ここに画像の説明を挿入します

4. 前のレベルに戻り、MailSenderJndiConfiguration をドリルダウンします。

ここに画像の説明を挿入します

「メール送信実装クラス」があることがわかります。これを呼び出すことができます。

ここに画像の説明を挿入します


4. メールコードを取得する

这里使用的qq邮箱

1. QQ メールボックスを開き、[設定] - [アカウントの選択] - 開く最初のサービスをクリックします。

ここに画像の説明を挿入します

2. クリックしてテキスト メッセージを開いて送信し、認証コードを取得します。

ここに画像の説明を挿入します

3. ポイント 5 に示すように、認証コードをコピーして設定ファイルの spring.mail.password= に貼り付けます。


5.設定内容

这里使用的是application.properties

#邮箱地址
spring.mail.username=2787567683@qq.com
#邮箱密码(授权码自行获取)
spring.mail.password=gsfqpsmmuwnfdhce
#主机名
spring.mail.host=smtp.qq.com

#开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true

6. コードを書く

这里我将发送邮件的功能封装为一个工具类

1.ToolUtil の書き込み

/**
 * @Author liuyun
 * @Date 2023/3/6 11:16
 * @Version 1.0
 * 发送邮件工具类
 */

@Configuration//申明该配置
public class ToolUtil {
    
    
    
    //引入邮件发送实现类
    @Autowired
    JavaMailSenderImpl javaMailSender;

    /**
     *
     * @param html:是否支持多文本上传
     * @param subject:邮件标题
     * @param text:邮件主要内容
     * @param jpg:附件
     * @param jpgWay:附件路径
     * @param from:发件人邮箱地址
     * @param to:收件人邮箱地址
     * @throws MessagingException
     * 发送邮件
     */
    public void sendMail(Boolean html, String subject, String text, List<String> jpg, List<String> jpgWay, String from, String to) throws MessagingException {
    
    
        //一个复杂的邮件
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //组装
        MimeMessageHelper mailMessage = new MimeMessageHelper(mimeMessage,html);

        //正文
        mailMessage.setSubject(subject);
        mailMessage.setText(text);

        //附件,遍历得到的附件内容
        for (int i = 0; i < jpg.size(); i++) {
    
    
            for (int j = 0; j < jpgWay.size(); j++) {
    
    
                if (i==j){
    
    
                    mailMessage.addAttachment(jpg.get(i),new File(jpgWay.get(i)));
                }
            }
        }

        mailMessage.setFrom(from);
        mailMessage.setTo(to);


        javaMailSender.send(mimeMessage);
    }
}

2. 検索方法

 @RequestMapping("/mailSend")
    public String mailSend() throws MessagingException {
    
    
		
		//邮件标题
        String subject = "入职申请";
        //邮件内容
        String text = "我申请入职腾讯高管";
        //发件人邮箱地址
        String from = "[email protected]";
        //收件人邮箱地址
        String to = "[email protected]";
        //附件内容
        List<String> jpgs = new ArrayList<>();
        jpgs.add("7.png");
        jpgs.add("q.jpeg");
        //附件路径
        List<String> jpgWays = new ArrayList<>();
        jpgWays.add("C:\\Users\\internet\\Desktop\\folder\\7.png");
        jpgWays.add("C:\\Users\\internet\\Desktop\\folder\\q.jpeg");

		//调取方法,将内容传进去
        toolUtil.sendMail(true,subject,text,jpgs,jpgWays,from,to);

        return "Success";
    }

7. 電子メールを起動してアクセスし、正常に受信します。

ここに画像の説明を挿入します
受信したメール

ここに画像の説明を挿入します

メールタスク機能です;参考


これがお役に立てば幸いです

~感谢您的光临~

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/m0_50762431/article/details/129359120