首页 > 其他分享 >SpringBoot邮箱注册

SpringBoot邮箱注册

时间:2023-04-21 17:55:08浏览次数:37  
标签:SpringBoot mailMessage org mail springframework 注册 import 邮箱 com

首先在pom.xml导入依赖

<!-- springboot 邮件mail -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
            <version>2.7.2</version>
        </dependency>
        <!--测试类-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-test</artifactId>
        </dependency>

然后在application.yml写入Spring邮箱配置

spring:
#邮箱
  mail:
#默认的邮件编码
    default-encoding: UTF-8
# 设置邮箱主机(服务商),这里使用QQ邮件服务器 ---->配置 SMTP 服务器地址
    host: smtp.qq.com
#配置邮箱用户名
    username: [email protected]
#配置密码,注意,不是真正的密码,而是刚刚申请到的授权码
    password: *********
#SMTP 服务器的端口
    port: 587
    properties:
      mail:
        smtp:
# 必须进行授权认证,它的目的就是阻止他人任意乱发邮件
          auth: true
#SMTP加密方式:连接到一个TLS保护连接
          starttls:
            enable: true
            required: true

接下来写一个测试类emailTest

package com.haoyang.ceshi;

import com.haoyang.TcmApplication;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.test.context.junit4.SpringRunner;

/*
 * eamil测试类
 * */

@RunWith(SpringRunner.class)
@SpringBootTest(classes = TcmApplication.class)
public class emailTest {

    @Autowired
    private JavaMailSender javaMailSender;

    @Test
    public void  send(){
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        //设置发送人
        mailMessage.setFrom("[email protected]");
        //邮件主题
        mailMessage.setSubject("灵异事件");
        //邮件内容
        mailMessage.setText("九十岁老太为何起死回生,数百头母猪为何半夜惨叫。女生宿舍为何频频失窃,超市方便面为何惨遭黑手。在达一切的背后,是人性的扭曲、还是道德的沦丧。");
        //收件人
        mailMessage.setTo("[email protected]");
        javaMailSender.send(mailMessage);
    }

}

注意,有些人在private JavaMailSender javaMailSender;中可能会提示报错

这个时候还要在写一个配置MailConfiguration

package com.haoyang.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;

import java.util.Properties;

@Configuration
public class MailConfiguration {
    @Bean
    public JavaMailSender getJavaMailSender() {
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
        mailSender.setHost("smtp.qq.com");
        mailSender.setPort(587);
        mailSender.setUsername("[email protected]");
        mailSender.setPassword("*********");
        Properties props = mailSender.getJavaMailProperties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        return mailSender;
    }
}

运行测试类时发现报错

不要慌

 @Test
    public void  send(){    //这个地方的修饰符必须是public,不能是private
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        //设置发送人
        mailMessage.setFrom("[email protected]");
        //邮件主题
        mailMessage.setSubject("灵异事件");
        //邮件内容
        mailMessage.setText("九十岁老太为何起死回生,数百头母猪为何半夜惨叫。女生宿舍为何频频失窃,超市方便面为何惨遭黑手。在达一切的背后,是人性的扭曲、还是道德的沦丧。");
        //收件人
        mailMessage.setTo("[email protected]");
        javaMailSender.send(mailMessage);
    }

然后重新运行就可以了

标签:SpringBoot,mailMessage,org,mail,springframework,注册,import,邮箱,com
From: https://www.cnblogs.com/lzp110119/p/17341187.html

相关文章

  • springboot框架快速整合websocket
    1、【pom.xml】<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>2、【MsgType.java】/***@authorJHL*2019-08-109:56*/publicenumM......
  • 【汇智学堂】微服务-SpringBoot环境搭建之一maven下载安装
    一、下载maven3.6.2http://maven.apache.org/download.cgi下载完成后,解压到某个目录。本人目录如下。(C:\Users\leilei\Desktop\apache-maven-3.6.2-bin\apache-maven-3.6.2)二、配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Users\leilei\Desktop\apache-maven......
  • 【汇智学堂】docker+springboot+mysql之二(springboot打包发送至Ubuntu dockermysql目
    IDEA:DockerfileContent:FROMjava:8VOLUME/tmpADDhellodocker-0.0.1-SNAPSHOT.jar/app.jarRUNsh-c'touch/app.jar'ENVJAVA_OPTS=""ENTRYPOINT["sh","-c","java$JAVA_OPTS-Djava.security.egd=file:/dev/.......
  • 【汇智学堂】docker+springboot+mysql之三(制作镜像并运行项目)
    Docker镜像仓库地址:https://hub.docker.com由于有墙,所以配置国内镜像,我们使用阿里云的镜像地址https://dev.aliyun.com/search…运行命令制作镜像:dockerbuild-t[容器名].注意:后面有个点,表示当前目录下//镜像名随意,注意最后有一个点发现没有mysql:查看所有发现msyql:5.......
  • 【汇智学堂】Dubbo注册中心-订阅/发布
    Dubbo注册中心-订阅/发布订阅与发布是整个注册中心的核心功能之一。在传统应用系统中,配置文件中配置需要变更时会修改配置文件,当服务节点数量不断上升时,就会有很多弊端。我们使用注册中心,解决该问题。当一个已有服务提供者节点下线,或者一个新的服务提供者节点加入微服务环境时,订阅......
  • 【四二学堂】微服务-SpringBoot+SSM之一
    Idea中NewProject参考:JavaVersion修改成13生成的项目结构如下图:修改目录成以下结构:各文件夹的内容,我们放在下一篇文章里面。......
  • SpringBoot配置简单拦截器 已解决静态资源访问问题
    publicclassLoginInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{System.out.println(request.getRequestURI());......
  • 邮箱伪造之搭建匿名SMTP服务器
      电子邮件欺骗(emailspoofing)的根本原因是SMTP协议是不需要身份验证的,攻击者可以利用这个特性伪造电子邮件头,从任意电子邮件地址发送任何人,导致信息看起来来源于某个人或某个地方,而实际却不是真实的源地址。   如果要实现邮箱伪造发件人地址,首先,我们需要一个可以用来发送......
  • 使用Oracle的springBoot
    application.ymlspring:application:name:zplatformdatasource:driver-class-name:oracle.jdbc.driver.OracleDriverurl:jdbc:oracle:thin:@主机号:端口号/数据库?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetriev......
  • 启动springboot项目指定jdk版本以及设置控制台中文
    代码:@echoofftitle=javaServerchcp936setJAVA_HOME=D:\Tools\JDK8setPATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\binsetCLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;lib/run.jarjava-Dfile.encoding=GBK-Xms64m-Xmx1000......