Servlet-发送电子邮件


①Servlet发送电子邮件

用 Servlet 发送一封电子邮件是很简单的,但首先您必须在您的计算机上安装 JavaMail APIJava Activation Framework)JAF)

②文件目录

--mailSendSucc.jsp

--SendMail.java

@WebServlet("/sendMail")
public class SendMail extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try {
            Properties props = new Properties();

            // 开启debug调试
            props.setProperty("mail.debug", "true");
            // 发送服务器需要身份验证
            props.setProperty("mail.smtp.auth", "true");
            // 设置邮件服务器主机名
            props.setProperty("mail.host", "smtp.163.com");
            // props.setProperty("mail.port", "465");
            // 发送邮件协议名称
            props.setProperty("mail.transport.protocol", "smtp");

            MailSSLSocketFactory sf = new MailSSLSocketFactory();
            sf.setTrustAllHosts(true);
            props.put("mail.smtp.ssl.enable", "true");
            props.put("mail.smtp.ssl.socketFactory", sf);

            Session session = Session.getInstance(props);

            Message msg = new MimeMessage(session);
            msg.setSubject("邮件服务");
            StringBuilder builder = new StringBuilder();
            //            builder.append("url = " + "http://blog.csdn.net/never_cxb/article/details/50524571");
            builder.append("\nhello qxl from ryan");
            builder.append("\n时间 " + new Date());
            msg.setText(builder.toString());
            msg.setFrom(new InternetAddress("m18136956517@163.com"));

            Transport transport = session.getTransport();
            transport.connect("smtp.163.com", "m18136956517@163.com", "520025zyqq");

            transport.sendMessage(msg, new Address[] { new InternetAddress("zy28313@ly.com") });

            transport.close();
        } catch (GeneralSecurityException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

        request.setAttribute("message", "邮件上传成功");
        request.getServletContext().getRequestDispatcher("/mailSendSucc.jsp").forward(request, response);

    }
}


<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>邮件上传结果</title>
</head>
<body>
<center>
    <h2>${message}</h2>
</center>
</body>
</html>


原文链接:https://blog.csdn.net/zy52002520/article/details/82149191