zoukankan      html  css  js  c++  java
  • Java Web总结二十三发送邮件

    一、所需jar包:

      1、mail.jar

      2、activation.jar

    二、代码:

      1、MailUtil.java

    package com.gnnuit.web.mail.util;
    
    import java.util.Properties;
    
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMessage.RecipientType;
    
    public class MailUtil {
    
        // 发送邮件
        public static void sendMail(String email, String username) throws Exception {
            Properties props = new Properties();
            props.put("mail.transport.protocol", "smtp");
            props.put("mail.host", "127.0.0.1");
            Session session = Session.getDefaultInstance(props);
            Transport transport = session.getTransport();
            transport.connect("aaa@zhaojun.com", "123456");
            Message message = createMessage(session, email, username);
            Thread.sleep(10 * 1000);
            Transport.send(message);
            transport.close();
        }
    
        // 创建邮件
        public static Message createMessage(Session session, String mail,
                String username) throws Exception {
            MimeMessage message = new MimeMessage(session);
            // 网站管理员
            message.setFrom(new InternetAddress("aaa@zhaojun.com"));
            message.setRecipient(RecipientType.TO, new InternetAddress(mail));
            message.setSubject("BBS论坛");
            message.setContent("恭喜您," + username + "注册成功",
                    "text/html;charset=utf-8");
            return message;
        }
    }

    2、LoginServlet.java

    package com.gnnuit.web.mail.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.gnnuit.web.mail.util.MailUtil;
    
    public class LoginServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            final String username = request.getParameter("username");
            final String email = request.getParameter("email");
            // 一个线程发邮件
            new Thread() {
    
                @Override
                public void run() {
                    try {
                        // 发送邮件
                        MailUtil.sendMail(email, username);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
    
            }.start();
            // 一个线程显示文件
            request.setAttribute("message", "注册成功");
            request.getRequestDispatcher("/message.jsp").forward(request, response);
        }
    
    }

    3、login.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        
      <body>
        <form action="${pageContext.request.contextPath }/LoginServlet" method="post">
            <table border="1" align="center">
                <caption>用户注册</caption>
                <tr>
                    <th>用户名</th>
                    <td><input type="text" name="username"/></td>
                </tr>
                <tr>
                    <th>邮箱</th>
                    <td><input type="text" name="email"/></td>                
                </tr>
                <tr>
                    <td colspan="2" align="center">
                        <input type="submit" value="提交"/>
                    </td>
                </tr>
            </table>
        </form>
      </body>
    </html>
  • 相关阅读:
    03 Java 修饰符
    04_Java 循环结构 for, while 及 do...while
    01_Java第一个程序_报错记录
    07_Java StringBuffer 和 StringBuilder 类_(修改,并且不产生新的未使用对象)
    06_Math 的 floor,round 和 ceil 方法实例比较_格式化字符串_String类
    [爱偷懒的程序员系列]Section 1. “懒”是一切需求的根源
    (1)Micropython+ESP32 点亮一个LED
    数据迁移测试方法【转】
    回来了回来了,失踪人口回归
    [爱偷懒的程序员系列]Section 4. 自定义钉钉消息推送
  • 原文地址:https://www.cnblogs.com/FlySheep/p/3756463.html
Copyright © 2011-2022 走看看