JSP实现发送邮件

将mail.jar包导入到WEB-INF/lib目录中

1.writeMail.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>写邮件内容</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  <!-- 本程序利用126的一个Internet邮件作为发件箱,向csai的一个internet邮箱发送一封简单的文本格式的邮件 -->
  <body>
    <form action="sendMail.jsp" method="post">
        <table width="100"border="1"align="center" cellspacing="1">
            <tr>
                <td width="34%">收件人地址:</td>
                <td width="66%"><input name ="to"type = "text" id = "to"/></td>
            </tr>
            <tr>
                <td>主题:</td>
                <td><input name = "title" type = "text" id = "title"/></td>
            </tr>
            <tr>
                <td height="107" colspan="2">
                    <textarea rows="5" cols="50"name = "content" id = "content"></textarea>
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type = "submit" name = "submit" value = "提交"/>
                    <input type = "reset" name = "reset" value = "重置"/>
                </td>
            </tr>
        </table>
    </form>
  </body>
</html>

2.sendMail.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@page import="javax.mail.internet.MimeMessage"%>
<%@page import="javax.mail.internet.InternetAddress"%>
<%@ taglib prefix = "fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page import = "java.util.*,javax.mail.*"%>
<%@ page import = "javax.mail.*"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'sendMail.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body> 
   
    <%
        try{
        String to1=new String(request.getParameter("to").getBytes("ISO8859-1"),"utf-8");
        String title=new String(request.getParameter("title").getBytes("ISO8859-1"),"utf-8");
        String content=new String(request.getParameter("content").getBytes("ISO8859-1"),"utf-8");
        //out.println(to1);
        //out.println(title);
        //out.println(content);
        //out.println(request.getParameter("content"));
        //out.println("000");
        
            String to_mail = to1;
            String to_title = title;
            String to_content =content;
            //建立邮件会话
            Properties props = new Properties();
            props.put("mail.smtp.host","smtp.126.com");//存储邮件发送服务器的信息
            props.put("mail.smtp.auth","true");//同时通过验证
            Session s =Session.getInstance(props);//根据属性新建一个邮件会话
            s.setDebug(true);
            //由邮件会话新建一个消息对象
            MimeMessage message = new MimeMessage(s);
            //设置邮件
            InternetAddress from = new InternetAddress("zxdxx0225@126.com");
            message.setFrom(from);//设置发件人
            InternetAddress to  = new InternetAddress(to_mail);
            message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接受类型为TO
            message.setSubject(to_title);//设置主题
            message.setText(to_content);//设置信件内容
            message.setSentDate(new Date());//设置发信时间
            //发送邮件
            //out.println("011");
            message.saveChanges();//存储邮件信息
            Transport transport=s.getTransport("smtp");
            //out.println("100");
            //以smtp方式登录邮箱,第一个参数是发送邮箱用的邮件服务器SMTP地址,第二个参数为用户名, 第三个参数为密码
            transport.connect("smtp.126.com","zxdxx0225","ZWGRMMZJGHQQAXOJ");
            //out.println("101");
            transport.sendMessage(message,message.getAllRecipients());//发送邮件,第二个参数是所有已设好的收件人地址
            //out.println("110");
            transport.close();
            //out.println("111");
        
     %>
     <div align="center"><p>邮件发送成功</p></div>
     <%
         }catch(MessagingException e){
             out.println("邮件发送失败");
         }
      %>
  </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值