首页 > 其他分享 >邮箱发送模块

邮箱发送模块

时间:2024-03-10 18:22:25浏览次数:26  
标签:String org mail springframework 发送 模块 import 邮箱 com

注入依赖

jdk17
springboot3
<!--        发送电子邮件-->
<dependency>
	<groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

application配置

server:
  port: 9999  # ?????
spring:
  mail:
    # QQhost: smtp.exmail.qq.com
    host: smtp.qq.com
    # tencent mail port  ??????
    port: 465
    # ??QQ??
    username: xxxxxxxxxxxxx
    password: xxxxxxxxxxxxx
    test-connection: true
    properties:
      mail:
        smtp:
          ssl:
            enable: true

SendMailUtils工具类

package com.mailtoqq.utils;

import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMailMessage;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import java.io.File;

@Component
public class SendMailUtils {
    @Autowired
    JavaMailSenderImpl javaMailSender;
    //发送普通文字邮件
    public void sendText(String Subject,String Text,String setFrom,String setTo){
        SimpleMailMessage simpleMailMessage=new SimpleMailMessage();
        simpleMailMessage.setSubject(Subject); //标题
        simpleMailMessage.setText(Text); //内容
        simpleMailMessage.setFrom(setFrom); //发送人邮件
        simpleMailMessage.setTo(setTo); //发送目的地邮箱
        javaMailSender.send(simpleMailMessage);
    }
    //发送带页面格式加文件邮件
    public void sendTexts(String Subject,String Text,Boolean t,String setFrom,String setTo
    ,String attachmentFilename,String filePathName) throws MessagingException{
        MimeMessage mimeMessage=javaMailSender.createMimeMessage();
        MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
        helper.setSubject(Subject);//标题
        helper.setText(Text,t);//内容
        helper.setFrom(setFrom);//发送人邮箱
        helper.setTo(setTo);//目的地邮箱
        helper.addAttachment(attachmentFilename,new File(filePathName));  //图片路径
        javaMailSender.send(mimeMessage);
    }
}

SendMailController

package com.mailtoqq.controller;

import com.mailtoqq.utils.SendMailUtils;
import jakarta.mail.MessagingException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@Controller
public class SendMailController {
    @Autowired
    SendMailUtils sendMailUtils;

    @GetMapping("/sendMail")
    public String sendMail() {
        String Subject = "你好,世界";	//题目
        String Text = "hello World";	//内容
        String From = "[email protected]";		//发送邮箱
        String To = "[email protected]";  		//接收邮箱
        sendMailUtils.sendText(Subject, Text, From, To);
        return "发送成功";
    }

    @GetMapping("/sendMails")
    @ResponseBody
    public String sendMails() throws MessagingException {
        String Subject = "你好,世界";
        String Text = "hello World";
        String From = "[email protected]";	//发送邮箱
        String To = "[email protected]";	//接收邮箱
	String filename = "xxx.png";	//文件名
        String filePath = "xxx.png"; //文件绝对路径
        sendMailUtils.sendTexts("发送带页面格式加文件邮件测试", "<p style='color:red;'>红</p>", true, From,
                To, filename, filePath);
//        return "<img src=\"images/002.png\">";
        return "123";
    }
}


标签:String,org,mail,springframework,发送,模块,import,邮箱,com
From: https://www.cnblogs.com/yuey6670/p/18064500

相关文章

  • 要确保请求在一次会话中被转发到相同的后端服务器上,可以使用 Nginx 的 ip_hash 或 sti
    要确保请求在一次会话中被转发到相同的后端服务器上,可以使用Nginx的ip_hash或sticky模块来实现。ip_hash模块:ip_hash 模块使用客户端IP地址作为哈希键,将同一IP地址的请求始终转发到相同的后端服务器。要启用 ip_hash 模块,只需在Nginx配置文件的 http 块或......
  • Tengine 安装 nginx-module-vts 模块
      使用Tengine作为反向代理服务器,发现Tengine日志中接口请求过慢,需要绘制grafana展示详细的接口情况------------------------------------------------------------------------------------------------------------------------------------解决思路#......
  • Jetty的http3模块
    启用http3模块,执行如下命令:java-jar$JETTY_HOME/start.jar--add-modules=http3命令的输出,如下:ALERT:Thereareenabledmodule(s)withlicenses.Thefollowing2module(s):+containssoftwarenotprovidedbytheEclipseFoundation!+containssoftwarenotco......
  • Jetty的server模块
    启用server模块,执行如下命令:java-jar$JETTY_HOME/start.jar--add-modules=server命令的输出,如下:INFO:serverinitializedin${jetty.base}/start.d/server.iniINFO:Basedirectorywasmodified查看server模块的配置文件,执行如下命令:cat$JETTY_BASE/s......
  • Java登陆第三十三天——ES6(二)模块、模块化
    模块化是管理JS代码的一种手段,把代码拆分成小模块,提高代码维护性,复用性,拓展性。模块类似与Java的包,可以从外部导入。模块有三种导出方式分别导出统一导出默认导出三种导出方式可以混用。模块化的关键字有export、import、as和default。ES6的模块会自动开启严格......
  • spf邮箱伪造漏洞
    spf邮箱伪造漏洞漏洞原理spf记录配置不当。软拒绝会导致被伪造详细可看别人的博客:https://www.cnblogs.com/wkzb/p/15401932.html漏洞验证dig-ttxt域名如果是~all则可能存在漏洞,如果是-all则没漏洞swaks--body"测试内容"--header"Subject:测试标题"-t你的邮箱-......
  • Jetty的ssl模块
    启用ssl模块,执行如下命令:java-jar$JETTY_HOME/start.jar--add-modules=ssl命令的输出,如下:INFO:sslinitializedin${jetty.base}/start.d/ssl.iniINFO:Basedirectorywasmodified查看ssl模块的配置文件,执行如下命令:cat$JETTY_BASE/start.d/ssl.i......
  • Jetty的bytebufferpool模块
    bytebufferpool模块用于配置Jetty的ByteBuffer对象的对象池。通过对象池的方式来管理ByteBuffer对象的使用和生命周期,期望降低Jetty进程内存的使用,同时降低JVM运行期垃圾回收操作的压力。启用bytebufferpool模块,执行如下命令:java-jar$JETTY_HOME/start.jar--add-modules=byt......
  • Jetty的console-capture模块
    console-capture模块用于记录Jetty运行时向标准输出和标准错误写出的信息。Java的标准输出流,即System.out。Java的标准错误流,即System.err。console-capture模块支持在每天晚上切换输出文件,自动清理超出保留期的日志文件。启用console-capture模块,执行如下命令:java-jar$JET......
  • Ansible——模块
    Ansible介绍Ansible是一个同时管理多个远程主机的软件(任何可以通过SSH协议登录的机器),因此Ansible可以管理远程虚拟机、物理机,也可以是本地主机(linux、windows)。Ansible通过SSH协议实现管理节点、远程节点的通信。只要是能够SSH登录的主机完成的操作,都可以通Ansible自动化操作,比......