实现邮件收发功能需要3个jar包:

1.JavaMail组件保内的mail.jar和smtp.jar包

2.JAF组件包里的activition.jar。

复制到WebRoot/WEB-INF/lib目录下。

一、编写index.jsp页面,具体代码如下:

 <%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!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=gb2312">
<title>welcome</title>
</head>
<body>
<form action="sendMail.jsp" method="post" name="form1">
<table width="75" border="0" align="center" cellspacing="1"
bgcolor="#006600" class="black">
<tr bgcolor="#ffffff">
<td width="24%">收信人地址:</td>
<td width="76%"><input name="to" type="text" id="to"></td>
</tr>
<tr bgcolor="#ffffff">
<td >主题:</td>
<td ><input name="title" type="text" id="title"></td>
</tr>
<tr>
<td height="18" colspan="2" bgcolor="#ffffff">
信件类型
<select name="emailtype" id="emailtype">
<option value="text/plain" selected>Text</option>
<option value="text/html" selected>Html</option>
</select>
</td>
</tr>
<tr>
<td height="53" colspan="2" bgcolor="#ffffff">
<textarea rows="5" cols="50" name="content" id="content"></textarea>
</td>
</tr>
<tr align="center">
<td colspan="2" bgcolor="#ffffff">
附件1(自定义):
<input name="fj1" type="text" id="fj1">
(输入文本信息)
</td>
</tr>
<tr align="center" valign="bottom">
<td colspan="2" bgcolor="#ffffff">
附件2(本地):
<input name="fj2" type="file" id="fj2" size="10">
</td>
</tr>
<tr align="center" >
<td colspan="2" bgcolor="#ffffff">
附件3(远程):
<input name="fj3" type="text" id="fj3" value="http://">
(输入URL)
</td>
</tr>
<tr align="center" >
<td colspan="2" bgcolor="#ffffff"> <input name="submit" type="submit" value="发送">
<input name="submit2" type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>

二、创建sendMail.jsp页面,具体代码如下:

<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<%request.setCharacterEncoding("gb2312"); %>
<%@ page import="java.util.*,javax.mail.*" %>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.activation.*" %>
<%@ page import="java.net.*" %>
<!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=gb2312">
<title>Insert title here</title>
</head>
<body>
<%
try{
String tto=request.getParameter("to");
String ttitle=request.getParameter("title");
String emailtype=request.getParameter("emailtype");
String tcontent=request.getParameter("content");
String tfj1=request.getParameter("fj1");
String tfj2=request.getParameter("fj2");
String tfj3=request.getParameter("fj3");
//声明properities存储发件服务器信息
Properties props=new Properties();
props.put("mail.smtp.host", "smtp.qq.com");
props.put("mail.smtp.auth", "true");
//创建邮件回话
Session s=Session.getInstance(props);
s.setDebug(true);
//创建一个消息对象
MimeMessage message=new MimeMessage(s);
InternetAddress from=new InternetAddress("393743083@qq.com");
message.setFrom(from);
InternetAddress to=new InternetAddress(tto);
message.setRecipient(Message.RecipientType.TO, to);
message.setSubject(ttitle);
message.setSentDate(new Date());
Multipart mm = new MimeMultipart();
BodyPart mdp=new MimeBodyPart();
mdp.setContent(tcontent, emailtype+";charset=gb2312");
mm.addBodyPart(mdp);
//附件1
mdp=new MimeBodyPart();
DataHandler dh=new DataHandler(tfj1,"text/plain;charset=gb2312");
mdp.setFileName("text.txt");
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
//附件2
mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource(tfj2);
dh=new DataHandler(fds);
int ddd=tfj2.lastIndexOf("\\");
String fname=tfj2.substring(ddd);
String ffname=new String(fname.getBytes("gb2312"),"ISO8859-1");
mdp.setFileName(ffname);
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
//附件3
mdp=new MimeBodyPart();
URL urlfj=new URL(tfj3);
URLDataSource ur=new URLDataSource(urlfj);
dh=new DataHandler(ur);
int ttt=tfj3.lastIndexOf("/");
String urlname=tfj3.substring(ttt);
mdp.setFileName(urlname);
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
message.setContent(mm);
message.saveChanges();
//发送邮件
Transport transport=s.getTransport("smtp");
transport.connect("smtp.qq.com",用户名,密码);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
%>
<div align="center">
<p><font color="#ff6600">发送成功</font></p>
<br>
<a href="sendMail.jsp">再来一封</a>
</div>
<%
}catch(MessagingException e){
out.println(e.toString());
}
%>
</body>
</html>

  注:腾讯邮箱需要开通smtp功能。

JavaMail组件实现邮件功能的更多相关文章

  1. 【知识积累】JavaMail实现发邮件功能

    一.前言 今天闲来没事,想着通过程序来给别人发邮件.于是,上网搜了一下,相应的资料也很多,刚开始完成了邮件的简单发送,后来想如何能发送附件,继续寻找 答案,但是遇到了一个问题是当我使用txt类型作为附 ...

  2. 手动搭建apache james邮件服务器,实现邮件功能

    最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下: 这些限制导致我们的部分客户是收不到邮件的,哪怕付费,这样的固定频率限制也是无法解决的,可以 ...

  3. javaMail实现收发邮件(一)

    电子邮件的传输过程 电子邮件系统采用客户/服务器模式.电子邮件传送需要用到以下3个重要模块:MUA(Mail User Agent,邮件用户代理):用户通过它与电子邮件服务器打交道.MUA实际上就是邮 ...

  4. ActiveMQ入门系列之应用:Springboot+ActiveMQ+JavaMail实现异步邮件发送

    现在邮件发送功能已经是几乎每个系统或网址必备的功能了,从用户注册的确认到找回密码再到消息提醒,这些功能普遍的会用到邮件发送功能.我们都买过火车票,买完后会有邮件提醒,有时候邮件并不是买完票立马就能收到 ...

  5. Spring Boot邮件功能

    1.应用场景 邮件功能的应用场景可谓十分广泛,诸如注册用户.密码找回,消息通知.以及一些程序异常通知等都需要使用到该功能. 正是由于邮件功能的使用广泛,因此springboot也加在它的组件中添加了邮 ...

  6. SQLSERVER监控复制并使用数据库邮件功能发告警邮件

    SQLSERVER监控复制并使用数据库邮件功能发告警邮件 最近熬出病来了,都说IT行业伤不起,不说了,说回今天的正题 正题 上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然 ...

  7. Gmail邮件功能那么强大,GMail被封,在国内怎么用gmail收邮件?

    IT圈子里最热门的话题一定是:gmail被封,该怎么办?gmail由于强大的邮件功能,ITer一定是人手一个or多个,之前想要收发gmail使用imap或SMTP方式是可以在国内正常使用的,目前ima ...

  8. 关于TD邮件功能不能发到认证邮箱的解决之法

    [原创] 关于TD邮件功能不能发到认证邮箱的解决之法 认证邮箱, 邮件服务器, 用户, 邮件系统 鉴于不少同行询问TD发邮件的问题,今天重新更新一下说明 解决问题的原则如下一.在TD服务器上安装一个邮 ...

  9. Nagios 配置自动发邮件功能

    安装sendmailyum install -y sendmail* mailx 修改防火墙设置,添加25端口到防火墙vi /etc/sysconfig/iptables 重启 iptables.se ...

随机推荐

  1. [转]用C#实现的条形码和二维码编码解码器

    条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...

  2. [King.yue]EXT.Grid行双击事件

    .Listeners(l => {l.CellDblClick.Handler = string.Format(@"alert('xx');"); })

  3. FAQ_浏览器_ChromeDriver报错

    Started ChromeDriverport=2437version=23.0.1240.0log=D:\workspace\WebdriverTest\chromedriver.log[0704 ...

  4. mysql 资料总结 长期更新

    http://blog.csdn.net/ww1982_0_0_0/article/details/9169613  引入employess

  5. classLoader (一)

    不说废话,上代码吧. 随便写一个类,他是由appclassLoader加载的 package classLoaderExample; class Bean { public void test() { ...

  6. wuzhicms 发送邮件

    发送邮件 //邮件发送 $config = get_cache('sendmail'); $siteconfigs = get_cache('siteconfigs'); $password = de ...

  7. Android 单字阅读

    package com.desmand.screencapture; import android.app.Activity; import android.content.Intent; impor ...

  8. Storm系列(二)系统结构及重要概念

    在Storm的集群里面有两种节点:控制节点和工作节点,控制节点上面运行Nimbus进程,Nimbus负责在集群里面分配计算任务,并且监控状态.每一个工作节点上面运行Supervisor进程,Super ...

  9. HW2.12

    控制台: import java.util.Scanner; public class Solution { public static void main(String[] args) { Scan ...

  10. Introduction to SignalR -摘自网络

    What is SignalR? ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of ...