zoukankan      html  css  js  c++  java
  • Spring boot发电子邮件

    废话不多说,写了个页面,根据用户输入的电子邮箱点击发送邮件按钮之后异步发送电子邮件,直接上代码

    首先,在pom.xml需要引入spring-boot-starter-mail模块

    pom.xml

    <!--邮件模块-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

    index.html

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>用户</title>
        <script th:src="@{/js/jquery.min.js}" type="text/javascript" charset="utf-8"></script>
        <!--要在js代码块中获得model的值,要使用内联th:inline-->
        <script th:inline="javascript">
            var contextPath = [[${#request.getContextPath()}]];
        </script>
        <script type="text/javascript">
            function sendMail() {
                var email=document.getElementById("email").value;
                // alert(email);
                $.ajax({
                    url:contextPath+'/user/send',
                    data:{'email':email},
                    method:'post'
                })
            }
        </script>
    </head>
    <body>
        <div>
            <form>
                <label>用户名:</label>
                <input type="text" name="username">
                <br/>
                <label>邮箱号:</label>
                <input type="email" name="email" id="email">
                <br/>
                <input type="button" value="发送邮件" th:onclick="sendMail()"/>
            </form>
        </div>
    </body>
    </html>

    IMailService.java

    public interface IMailService {
        void sendMail(String email);
    }

    IMailServiceImpl.java

    @Service
    public class IMailServiceImpl implements IMailService {
        @Resource
        private JavaMailSender javaMailSender;
    
        @Value("${spring.mail.username}")
        public String from;
    
        @Override
        public void sendMail(String email) throws MailException{
            try {
                System.out.println(email);
                SimpleMailMessage message = new SimpleMailMessage();
    
                //邮件主题
                String title = "好看书城欢迎您";
                //邮件内容
                String text = "亲,恭喜您已成功注册为好看书城的会员,好看书城致力于为每一个爱看好书的会员提供完美的体验!您可以点击下面的链接:
      https://www.baidu.com  快速进入好看书城,在书海中自由的翱翔了。";
                //接收邮件人邮箱
                String to = email;
    
                // 发送人的邮箱(系统配置的邮箱)
                message.setFrom(from);
                //发给谁对方邮箱(接收有邮件人邮箱)
                message.setTo(to);
                //标题
                message.setSubject(title);
                //内容
                message.setText(text);
                //发件日期
                message.setSentDate(new Date());
                //发送
                javaMailSender.send(message);
                System.out.println("邮件已成功发送到:"+to);
            }catch (MailException e){
                e.printStackTrace();
                System.out.println("邮件发送失败!");
            }
    
        }
    }

    UserController.java

    @Controller
    @RequestMapping("/user")
    public class UserController {
        @Resource
        private IMailService iMailService;
        @RequestMapping("/send")
        public String send(String email){
    //        System.out.println(email);
            iMailService.sendMail(email);
            return "index";
        }
    }

    application.yml

    spring:
      mail:
        host: smtp.163.com
        port: 25
        username: wxb_0101@163.com
        password: 邮箱授权码
        default-encoding: UTF-8
    server:
      port: 8888
      servlet:
        context-path: /mailsend

    然后,访问localhost:8888/mailsend/ ,输入用户名和邮箱,点击发送邮件,就可以收到邮件了

  • 相关阅读:
    React元素渲染
    初识JSX
    微信小程序复制文本到剪切板
    微信小程序报错request:fail url not in domain list
    小程序,通过自定义编译条件,模拟推荐人功能
    积分抵扣逻辑
    微信小程序 switch 样式
    tomcat 配置开启 APR 模式
    tomcat8 传输json 报错 Invalid character found in the request target. The valid characters are defined in RFC 3986
    c++数组初始化误区
  • 原文地址:https://www.cnblogs.com/andrew3/p/13170310.html
Copyright © 2011-2022 走看看