SpringBoot プロジェクトで電子メール タスクをすばやく作成する方法
1.まず SpringBoot プロジェクトを作成します
提示:选择的java版本不要太高
ここでは Spring Web を選択しました
2.関連する依存関係を導入する
只需要引入这一个依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
3. ソースコードを分析する
1. まず依存関係を導入し、名前に従ってメール自動構成名を見つけます - MailSenderAutoConfiguration
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. 電子メールを起動してアクセスし、正常に受信します。
受信したメール
メールタスク機能です;参考
これがお役に立てば幸いです