广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用JAVA实现邮件发送功能的图文教程
  • 215
分享到

使用JAVA实现邮件发送功能的图文教程

2024-04-02 19:04:59 215人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、准备工作1.1 登录网页QQ邮箱,点击页面顶部设置按钮。1.2 点击后会打开邮箱设置页面,如下所示,点击第二栏账户。1.3 点击后往下拉,直到有如下页面选项。1.4 验证完成

一、准备工作

小编今天以 QQ邮箱 进行演示操作。

想要使用代码操作邮箱发送邮件,需要在邮箱设置中申请开通 POP3/SMTP 服务。

接下来跟着小编的图文一步一步的操作开通吧!

1.1 登录网页QQ邮箱,点击页面顶部设置按钮。

设置按钮

1.2 点击后会打开邮箱设置页面,如下所示,点击第二栏账户。

1.3 点击后往下拉,直到有如下页面选项。

选择POP3/SMTP服务,点击后面的开启,此时会让你使用绑定邮箱的手机号发送短信。

发送短信

发送完成后点击 我已发送 按钮,进行验证。

1.4 验证完成后会显示授权码(复制下来,一会要用)

到此,准备工作已完成!

二、项目中配置邮件发送功能

2.1 引入发送邮件相关依赖

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

引入后,更新Maven,下载相关依赖

更新依赖

2.2 在application.yml文件中添加邮件基本配置

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

2.3 为了方便使用,新建一个操作email的工具类(EmailUtil.java)

封装邮件工具类是为了方便后续调用操作。

package com.clover.utils;

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;


@Component
public class EmailUtil {

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

    @Autowired
    private JavaMailSender mailSender;

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

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

    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.4 测试邮件发送功能

我使用的SpringBoot项目,因此我在测试类中进行测试。

测试类代码:

package com.clover.api.blogapi;

import com.clover.utils.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
class BlogApiApplicationTests {
    @Autowired
    private EmailUtil emailUtil;

    @Test
    void contextLoads() {
    }

    @Test
    void sendStringEmail() {
        // 测试文本邮件发送(无附件)
        String to = "1354720990@qq.com";
        String title = "文本邮件发送测试";
        String content = "文本邮件发送测试";
        emailUtil.sendMessage(to, title, content);
    }

    @Test
    void sendFileEmail() {
        // 测试单个附件邮件发送
        String to = "1354720990@qq.com";
        String title = "单个附件邮件发送测试";
        String content = "单个附件邮件发送测试";
        File file = new File("D:\\GCH\\Typora\\linux中常用的查看系统相关信息命令.md");
        emailUtil.sendMessageCarryFile(to, title, content, file);
    }
    
    @Test
    void sendFilesEmail() {
        // 测试多个附件邮件发送
        String to = "1354720990@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);
    }
}

2.5 测试结果

邮箱已收到

已收到

2.5.1 文本邮件发送

文本邮件发送

2.5.2 单个附件邮件发送

单个附件邮件发送

2.5.3 多个附件邮件发送

多个附件邮件发送

到此,使用Java发送邮件功能就结束了,伙伴们可以根据自己的需求进行封装使用。

总结

到此这篇关于使用JAVA实现邮件发送功能的文章就介绍到这了,更多相关JAVA邮件发送功能内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用JAVA实现邮件发送功能的图文教程

本文链接: https://www.lsjlt.com/news/151611.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用JAVA实现邮件发送功能的图文教程
    目录一、准备工作1.1 登录网页QQ邮箱,点击页面顶部设置按钮。1.2 点击后会打开邮箱设置页面,如下所示,点击第二栏账户。1.3 点击后往下拉,直到有如下页面选项。1.4 验证完成...
    99+
    2022-11-13
  • Java实现邮件发送功能
    Java实现邮件发送的具体代码,供大家参考,具体内容如下 一、邮件服务器与传输协议 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责...
    99+
    2022-11-12
  • java怎么实现发送邮件功能
    要在Java中实现发送邮件的功能,可以使用Java Mail API。以下是一个简单的示例代码: import javax.mail...
    99+
    2023-10-26
    java
  • java实现简单发送邮件功能
    本文实例为大家分享了java实现简单发送邮件的具体代码,供大家参考,具体内容如下 添加依赖 <!--发送邮件API-->     <!-- https://mvnr...
    99+
    2022-11-13
  • Java实现简单邮件发送功能
    本文实例为大家分享了Java实现简单邮件发送的具体代码,供大家参考,具体内容如下 需要的jar包: activation-1.1.1.jarmail-1.4.7.jar QQ邮箱设置...
    99+
    2022-11-13
  • Java实现简单的邮件发送功能
    本文实例为大家分享了Java实现简单的邮件发送的具体代码,供大家参考,具体内容如下 要注意只有开启了POP3/SMTP才能收发邮件,首先要开启此功能 ** qq邮箱的开启方式** 设...
    99+
    2022-11-13
  • PHPMailer发送邮件功能实现流程
    目录开源项目PHPMailerindex.php代码说明发送人邮箱授权码如何获得很多网站注册时都会要求输入电子邮箱,其应用场景是比较广的,例如注册账号接收验证码、注册成功通知、登录通...
    99+
    2022-12-21
    PHPMailer发送邮件 PHP邮件发送
  • 使用Java自带的mail API实现邮件发送功能全过程
    目录需求:以下代码即可发送邮件,以qq邮箱为例证书生成步骤:总结需求: 邮件发送 使用jdk源生API——java.mail实现发邮件功能 (当然也有第三方工...
    99+
    2023-05-14
    java mail api java 发送邮件 java实现发送邮件
  • Java如何实现带附件的邮件发送功能
    这篇文章主要讲解了Java如何实现带附件的邮件发送功能,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。需要导入mail.jar、activation.jar这两个邮件发送的jar包,可在网上搜索并下载需要设置相关...
    99+
    2023-05-31
    java ava
  • 利用Node.JS实现邮件发送功能
    第一步、配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本。 关于这个库的文档参见nodemailer 第二步、库的一些使用介绍 这个库...
    99+
    2022-06-04
    邮件发送 功能 Node
  • Java如何实现简单邮件发送功能
    本篇内容介绍了“Java如何实现简单邮件发送功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需要的jar包:activation-1.1....
    99+
    2023-07-02
  • 如何使用Perl实现邮件发送功能
    如何使用Perl实现邮件发送功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。use Net::SMTP_auth;$smtp = Net::SMTP_auth->new...
    99+
    2023-06-04
  • 如何使用PHP实现发送邮件的功能
    随着互联网的发展,邮件已经成为人们生活和工作中必不可少的一部分。在Web开发中,发送邮件是一个非常重要的功能,无论是在网站注册、忘记密码、订单确认、用户反馈等方面,发邮件都扮演着至关重要的角色。而在PHP中,实现发送邮件非常简单。在本文中,...
    99+
    2023-05-14
    php PHP邮件
  • 怎么使用PHP实现发送邮件的功能
    今天小编给大家分享一下怎么使用PHP实现发送邮件的功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、PHP发邮件的基本原...
    99+
    2023-07-05
  • 怎么使用Java自带的mail API实现邮件发送功能
    本篇内容主要讲解“怎么使用Java自带的mail API实现邮件发送功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java自带的mail API实现邮件发送功能”...
    99+
    2023-07-05
  • 基于JavaMail的Java实现复杂邮件发送功能
    上一篇文章 基于 JavaMail 的 Java 邮件发送:简单邮件发送 讲解了邮件的基本协议,JavaMail组件,创建并发送一封简单邮件的详细步骤。本文将介绍如何创建并发送一封包含图片和附件的复杂邮件。一封复杂的邮件内容可以看做是由很多...
    99+
    2023-05-31
    javamail java 邮件发送
  • PHP利用PHPMailer实现邮件发送功能
    目录导语一、安装环境二、下载 三、 邮箱设置四、php发送邮件五、php框架中使用导语 〝 古人学问遗无力,少壮功夫老始成 〞 随着企业化的管理越来越规范,各种项目管理系统...
    99+
    2022-11-13
  • 如何用springboot实现发送邮件功能
    本篇内容介绍了“如何用springboot实现发送邮件功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   ...
    99+
    2023-06-20
  • 使用php的mail()函数实现发送邮件功能
     利用PHP的mail函数发送邮件    mail()函数的作用:连接到邮件服务器,利用smtp协议,与该服务器交互并投邮件    ...
    99+
    2022-11-12
  • ASP.NET Core中使用MialKit实现邮件发送功能
    具体代码如下所示: # 导包   首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中。 # 引用命名空间 using MailKit.Net...
    99+
    2022-06-07
    net ASP.NET core 邮件 ASP
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作