JAVA/JSP学习系列之十(JavaMail API发邮件[servlet])

原创 2004年06月27日 13:50:00
一:条件 必须下载sun公司的JavaMail API包,地址为:http://java.sun.com/products/javamail/

我这里用的是1.2版本,将相关包(jar文件)加到CLASSPATH中

二:该程序非常简单,不需要我们考虑很多地层的东西,因为API都帮我们做好了这些事情,下面是一个简单的发邮件的Servlet:(对于熟悉的人来说,恐怕是再简单不过了的一个servlet)

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import sun.net.smtp.*;

public class SendMailServlet extends HttpServlet {

public static String MAIL_FROM = "from";

public static String MAIL_TO = "to";

public static String MAIL_SUBJECT = "subject";

public static String MAIL_BODY = "body";

public static String MAIL_HOST = "mailhost";

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

{

resp.setContentType("text/html; charset=gb2312");

PrintWriter out = resp.getWriter();

out.println("<form method=POST action=/"" + req.getRequestURI() + "/">");

out.println("<table>");

out.println("<tr><td>send mail server:</td>");

out.println("<td><input type=text name=" + MAIL_HOST + " size=30></td></tr>");

out.println("<tr><td>from:</td>");

out.println("<td><input type=text name=" + MAIL_FROM + " size=30></td></tr>");

out.println("<tr><td>to:</td>");

out.println("<td><input type=text name=" + MAIL_TO + " size=30></td></tr>");

out.println("<tr><td>subject:</td>");

out.println("<td><input type=text name=" + MAIL_SUBJECT + " size=30></td></tr>");

out.println("<tr><td>text:</td>");

out.println("<td><textarea name=" + MAIL_BODY + " cols=40 rows=10></textarea></td></tr>");

out.println("</table><br>");

out.println("<input type=submit value=/"Send/">");

out.println("<input type=reset value=/"Reset/">");

out.println("</form>");

out.flush();

}

public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException

{

resp.setContentType("text/html; charset=gb2312");

PrintWriter out = new PrintWriter(resp.getOutputStream());

String from = req.getParameter(MAIL_FROM);

String to = req.getParameter(MAIL_TO);

String subject = req.getParameter(MAIL_SUBJECT);

String body = req.getParameter(MAIL_BODY);

String mailhost = req.getParameter(MAIL_HOST);

try

{

SmtpClient mailer = new SmtpClient(mailhost);

mailer.from(from);

mailer.to(to);

PrintStream ps = mailer.startMessage();

ps.println("From: " + from);

ps.println("To: " + to);

ps.println("Subject: " + subject);

ps.println(body);

mailer.closeServer();

out.println("Success!");

}

catch (Exception ex)

{

out.println("An error about:" + ex.getMessage());

}

out.flush();

}

public void init(ServletConfig cfg) throws ServletException

{

super.init(cfg);

}

public void destroy()

{

super.destroy();

}

}

用JSP+SERVLET实现的JAVAMAIL发送邮件

       小女子最近初学eclipse。想要用javamail来实现一个邮件收发软件。其实关于用javamail写发送邮件的实例网上有很多。但多数都只是一个示范,不能真的作为一个项目拿出来。我总不...
  • stilljin
  • stilljin
  • 2007年02月12日 11:59
  • 1617

JavaMail API发邮件[servlet]

一:条件 必须下载sun公司的JavaMail API包,地址为:http://java.sun.com/products/javamail/我这里用的是1.2版本,将相关包(jar文件)加到CLAS...
  • andymu077
  • andymu077
  • 2008年05月15日 16:40
  • 494

JavaMail发送邮件API简单介绍

主要API: 1、Message类:创建解析邮件的内容 2、Transport类:发送邮件的API 3、Store类:接收邮件的API 4、Session类:配置邮件服务器的主机名,端口号,采...
  • WOAIWOJIAWEIHAO150
  • WOAIWOJIAWEIHAO150
  • 2016年03月04日 14:25
  • 271

用JSP发送EMAIL(JavaMail简易实现版)

 在这里可以下载JAVAMAIL包 http://java.sun.com/products/javamail/在解压后,将activation.jar和mail.jar复制到 /WEB-INF/li...
  • skypirate
  • skypirate
  • 2006年12月01日 16:24
  • 2275

servlet和jsp学习(一)

一、Table对象rows属性描述:返回表格的tr对象组成的集合语法:collection object.rowsrowIndex描述:获取行对象的索引数语法:int object.rowIndexi...
  • qq_19528953
  • qq_19528953
  • 2017年07月18日 11:01
  • 281

JavaMail发送邮件 可能会踩的坑

javamail 发送邮件
  • sujingyu123
  • sujingyu123
  • 2016年12月28日 15:04
  • 1067

怎么学习Servlet和JSP

先学servlet: JSP它本质上来说是servlet和html的混合体,jsp中的内置对象都是来自与servlet,JSP在执行的时候会被先解释为servlet源程序的,jsp本质上就是一个...
  • QMW19910301
  • QMW19910301
  • 2016年12月05日 10:43
  • 924

javamail发送邮件乱码问题解决

关于使用javamail包发送邮件时编码的解决问题:1. 在发送正文时指定正文编码:    在发送邮件时使用    MimeBodyPart  body = new MimeBodyPart();  ...
  • bsj716891
  • bsj716891
  • 2010年10月17日 19:15
  • 1524

Javamail配置阿里云邮箱发送邮件

前言:前面已经介绍过使用163邮箱发送邮件激活账号的例子了,本来想着应该千篇一律的,但是这里使用阿里邮箱发送邮件略有不同,更改配置之后总是报错,所以这里记录一下,为以后再次搭建方便,同时如果遇到同样问...
  • weixin_36380516
  • weixin_36380516
  • 2017年09月19日 14:02
  • 1953

javamail实现用普通QQ邮箱发送邮件

本人最近在写一个Android项目,用户注册的时候想用邮箱验证的方式,于是就需要在服务器端发送电子邮件给新注册用户,邮件内容中包含一个 链接, 当用户点击这个链接将 登录到服务器 的验证逻辑。本人在网...
  • Coding_One
  • Coding_One
  • 2016年05月09日 17:06
  • 15378
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA/JSP学习系列之十(JavaMail API发邮件[servlet])
举报原因:
原因补充:

(最多只允许输入30个字)