Spring方式发送邮箱

这篇具有很好参考价值的文章主要介绍了Spring方式发送邮箱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring方式发送邮箱,java,前端,服务器

 Spring方式发送邮箱,java,前端,服务器

1.导入依赖

    <!--邮件发送依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

2.导入工具类

package com.example.demo.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

/**
 * @ClassName EmailUtil
 * @Description 邮件发送工具
 * @Author Sophia
 * @Date 2022/4/6 16:06
 */
@Component
public class EmailUtil {

    @Value("${spring.mail.from}") // 从application.yml配置文件中获取
    private String from; // 发送发邮箱地址

    @Autowired
    private JavaMailSender mailSender;

    /**
     * 发送纯文本邮件信息
     *
     * @param to      接收方
     * @param subject 邮件主题
     * @param content 邮件内容(发送内容)
     */
    public void sendMessage(String to, String subject, String content) {
        // 创建一个邮件对象
        SimpleMailMessage msg = new SimpleMailMessage();
        msg.setFrom(from); // 设置发送发
        msg.setTo(to); // 设置接收方
        msg.setSubject(subject); // 设置邮件主题
        msg.setText(content); // 设置邮件内容
        // 发送邮件
        mailSender.send(msg);
    }

    /**
     * 发送带附件的邮件信息
     *
     * @param to      接收方
     * @param subject 邮件主题
     * @param content 邮件内容(发送内容)
     * @param files 文件数组 // 可发送多个附件
     */
    public void sendMessageCarryFiles(String to, String subject, String content, File[] files) {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
            helper.setFrom(from); // 设置发送发
            helper.setTo(to); // 设置接收方
            helper.setSubject(subject); // 设置邮件主题
            helper.setText(content); // 设置邮件内容
            if (files != null && files.length > 0) { // 添加附件(多个)
                for (File file : files) {
                    helper.addAttachment(file.getName(), file);
                }
            }
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        // 发送邮件
        mailSender.send(mimeMessage);
    }
/**
     * 发送带附件的邮件信息
     *
     * @param to      接收方
     * @param subject 邮件主题
     * @param content 邮件内容(发送内容)
     * @param file 单个文件
     */
    public void sendMessageCarryFile(String to, String subject, String content, File file) {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
            helper.setFrom(from); // 设置发送发
            helper.setTo(to); // 设置接收方
            helper.setSubject(subject); // 设置邮件主题
            helper.setText(content); // 设置邮件内容
            helper.addAttachment(file.getName(), file); // 单个附件
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        // 发送邮件
        mailSender.send(mimeMessage);
    }

    public String getFrom() {
        return from;
    }

    public void setFrom(String from) {
        this.from = from;
    }
}

2.导入application.yml

spring:
  # 发送邮件配置
  mail:
    host: smtp.qq.com # 配置 smtp 服务器地址
    port: 587 # smtp 服务器的端口
    username: 2028385040@qq.com # 配置邮箱用户名(你的邮箱地址)
    password: ffpbrbbahilvccib # 配置申请到的授权码(刚让复制的授权码)
    default-encoding: UTF-8 # 配置邮件编码
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory # 配饰 SSL 加密工厂
        debug: true
    from: 2028385040@qq.com # 发送方邮件,配在yml中可方便更改(你的邮箱)

4.test类测试文章来源地址https://www.toymoban.com/news/detail-581500.html

package com.example.demo.dd;


import com.example.demo.demo.EmailUtil;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.File;

@SpringBootTest
public class BlogApiApplicationTests {
    @Autowired
    private EmailUtil emailUtil;

    @Test
    void contextLoads() {
    }

    @Test
    public void sendStringEmail() {
        // 测试文本邮件发送(无附件)
        String to = "2992490340@qq.com"; // 这是个假邮箱,写成发送方的邮箱地址就可以
        String title = "文本邮件发送测试";
        String content = "文本邮件发送测试";
        emailUtil.sendMessage(to, title, content);
    }

    @Test
    void sendFileEmail() {
        // 测试单个附件邮件发送
        String to = "29924980390@qq.com"; // 这是个假邮箱,写成发送方的邮箱地址就可以
        String title = "单个附件邮件发送测试";
        String content = "发个试试";
        File file = new File("C:\\Users\\Lenovo\\Desktop\\java的复习\\vue\\Vue CLI.pdf");
        emailUtil.sendMessageCarryFile(to, title, content, file);
    }

    @Test
    void sendFilesEmail() {
        // 测试多个附件邮件发送
        String to = "29924907390@qq.com"; // 这是个假邮箱,写成发送方的邮箱地址就可以
        String title = "多个附件邮件发送测试";
        String content = "多个附件邮件发送测试";
        File[] files = new File[2];
        files[0] = new File("C:\\Users\\root\\Desktop\\配置邮箱\\1.png");
        files[1] = new File("C:\\Users\\root\\Desktop\\配置邮箱\\2.png");
        emailUtil.sendMessageCarryFile(to, title, content, files[0]);
    }

}

到了这里,关于Spring方式发送邮箱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Java服务器实现UDP消息的发送和接收(多线程)

    在本篇博客中,我们将介绍如何使用Java服务器来实现UDP消息的发送和接收,并通过多线程的方式来处理并发请求。UDP(User Datagram Protocol)是一种无连接、不可靠的传输协议,适合于实时性要求高的应用场景,如实时游戏、语音通信等。 步骤: 首先,我们需要导入Java提供的

    2024年02月12日
    浏览(46)
  • 如何搭建邮箱服务器

    目录 部署 DNS 黑名单 Mailcow:dockerized 部署 Mailcow:dockerized 为 Mailcow:dockerized 配置 TLS Mailu.io 生成配置文件 部署 Mailu 安全 S/MIME OpenPGP 推荐阅读 搭建邮局服务器的想法之前一直都有,不过一直没有尝试,国庆的时候从阿里云换到了腾讯云的时候尝试直接使用  postfix  和  dovecot  

    2024年02月03日
    浏览(48)
  • Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息

    Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息 回调函数处理

    2024年02月13日
    浏览(60)
  • iPhone设置163邮箱 收件服务器和发件服务器填写内容

    主机名: imap.163.com 用户名: 邮箱不加@163.com(比如我的邮箱是xianyu@163.com,用户名就填xianyu) 密码: IMAP/SMTP/POP3服务的授权码(不是登录密码!!!) 主机名: smtp.163.com 用户名: 不填 密码: 不填

    2024年02月11日
    浏览(78)
  • qq邮箱服务器host是什么

    QQ 邮箱的服务器地址 (host) 是: 收信服务器 (POP3) : pop.qq.com 发信服务器 (SMTP) : smtp.qq.com 注意: 如果你使用的是 QQ 企业邮箱, 服务器地址可能会有所不同, 具体信息应该可以在你的 QQ 企业邮箱管理界面中找到。 另外, 在使用 QQ 邮箱的服务器时, 你可能需要启用 POP3/SMTP 服务, 并且

    2024年02月10日
    浏览(55)
  • 【Azure】office365邮箱测试的邮箱账号因频繁连接邮箱服务器而被限制连接 引起邮箱显示异常

    azure微软office365邮箱会对频繁连接自身邮箱服务器的IP地址进行,连接邮箱服务器IP限制,也就是黑名单,释放时间不确定,但至少一天及以上。 解决办法,换一个IP,或者新注册一个office365邮箱再重试。 以上连接失败会出现code = 5或者code = 22

    2024年02月13日
    浏览(35)
  • JAVA使用SFTP和FTP两种方式连接服务器

    FTP是一种文件传输协议,一般是为了方便数据共享的。包括一个FTP服务器和多个FTP客户端。FTP客户端通过FTP协议在服务器上下载资源。FTP客户端通过FTP协议在服务器上下载资源。而一般要使用FTP需要在服务器上安装FTP服务。 而SFTP协议是在FTP的基础上对数据进行加密,使得传

    2024年02月14日
    浏览(45)
  • 阿里企业邮箱服务器地址(IMAP、POP、SMTP)

    阿里企业邮箱IMAP、POP、SMTP参数配置服务器地址和端口号信息,阿里云百科分享阿里邮箱各个服务器地址及端口信息: 目录 新版企业邮箱服务器地址 旧版服务器地址 中国香港地区服务器地址 客户端推荐以下参数配置: 协议 服务器地址 服务器端口号(常规) 服务器端口号

    2024年02月09日
    浏览(64)
  • 【Java开发】 Spring 11 :Spring Boot 项目部署至云服务器

    Spring Boot 项目开发结束后的工作便是运维,简单来说需要配置 Web 运行参数和项目部署两大工作,本文将尽可能详细地给大家讲全! 目录 1 定制 Web 容器运行参数 1.1 运行参数介绍 1.2 项目搭建 ① 通过 IDEA Spring Initializr 创建项目 ② 添加 Spring Web 等依赖 ③ 编写 controller 层的

    2023年04月23日
    浏览(59)
  • Java Websocket发送文件给Vue客户端接收并上传,实现检测U盘插入并将指定文件上传到服务器功能

    应用环境: B/S架构 需求描述: 1、判断U盘接入 2、扫描U盘指定文件,将满足条件的文件发送给服务器 解决思路: 1、因为bs架构,无法获取本机资源,计划在U盘所在服务器部署websocket服务 2、websocket服务扫描u盘,拿到指定文件,使用session.getBasicRemote().sendBinary(data)分批发送二

    2024年01月15日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包