一个简单的javamail 入门实例,最近使用java mail 发送邮件,首先到http://java.sun.com/products/javamail/downloads/index.html 下载javamail,最有用的是mail.jar文件 ,加入到路径。
一个简单实现jsp代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%
try{
//首先定义几个字符串,没办法我只有一个邮箱,要测试只有自己给自己邮箱发邮件了,呵呵
String tfrom="tianmingqi886@163.com";//发件人
String tto="tianmingqi886@163.com";//收件人
String ttitle="你好"; //主题
String tcontent="这是系统发给你的";//内容
//*JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机.
//Properties对象获取诸如邮件服务器、用户名、密码等信息,以及其他可在整个应用程序中 共享的信息。
Properties props=new Properties();//也可用Properties props = System.getProperties();
props.put("mail.smtp.host","smtp.163.com");//存储发送邮件服务器的信息
props.put("mail.smtp.auth","true");//同时通过验证
//*这个Session类代表JavaMail 中的一个邮件session. 每一个基于 JavaMail的应用程序至少有一个session但是可以有任意多的session。
//Session类定义全局和每个用户的与邮件相关的属性。这此属性说明了客房机和服务器如何交流信息。
Session s=Session.getInstance(props,null);//根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象
s.setDebug(true);//设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法
// 一旦创建了自己的Session对象,就是该去创建要发送的消息的 时候了。这时就要用到消息类型(MimeMessage是其中一种类型)。
//Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个MimeMessage对象来创建并且需要知道应当选择哪一个JavaMail session。
//Message类表示单个邮件消息,它的属性包括类型,地址信息和所定义的目录结构。
Message message=new MimeMessage(s);//由邮件会话新建一个消息对象
//message.setContent("hello","test/plain");//设置消息的内容类型,如果发送的格式有HTML格式就必须设置,
// message.setText("Hello");//发送一般文本格式的消息
//设置邮件,一旦您创建了 Session 和 Message,并将内容填入消息后,就可以用Address确定信件地址了。
//如果想让一个名字出现在电子邮件地址后,也可以将其传递给构造器:
//Address from=new InternetAddress("xmqds@21cn.com","qdison");//发件人的邮件地址
Address from=new InternetAddress(tfrom);//发件人的邮件地址
message.setFrom(from);//设置发件人
Address to=new InternetAddress(tto);//收件人的邮件地址
message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO,还有3种预定义类型如下:
//Message.RecipientType.TO
//Message.RecipientType.CC
//Message.RecipientType.BCC
message.setSubject(ttitle);//设置主题
message.setText(tcontent);//设置信件内容
message.setSentDate(new Date());//设置发信时间
message.saveChanges();//存储邮件信息
// Transport 是用来发送信息的,
// 用于邮件的收发打操作。
Transport transport=s.getTransport("smtp");
transport.connect("smtp.163.com","邮箱登录用户名","登录密码");//以smtp方式登录邮箱。
transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
transport.close();
}catch(MessagingException e){
System.out.println(e.toString());
}
%>
测试却出现了:java.lang.NoClassDefFoundError: javax/activation/DataSource
原来除了要导入mail.jar 还要导入一个jar文件:activation.jar,并且这个jar文件不在javamail里,可以到
http://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/index.html
去下载这个文件,JAF(JavaBeans Activation Framework) 解压后就可以找到这个activation.jar文件 了 ,加入到路径就oK了!
分享到:
相关推荐
Java很诱人,但对于刚跨入Java门槛的初学者来说,编译并运行一个无比简单的Java程序简直就是一个恶梦。明明程序没错,但各种各样让人摸不着头脑的错误信息真的让你百思不得其解,许多在Java门口徘徊了很久的初学者就...
ADAMS入门详解与实例
ARM 入门 实例 详解 ARM 入门 GPIO
Android NDK入门 实例 详解
180个JAVA简单实例,还是对初学者有帮助的
220个JAVA初学者实例 对于刚接触java的帮助很大
java code Webservice实例详解,很详细的
C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++...
java入门实例
Java WebService入门实例
ADAMS入门详解与实例 第2版978-7-118-09373-5_13589968
Java 2 入门与实例教程.rar
Java 2 入门与实例教程pdf,
java flex入门实例 MyEclipse7+flex bulider 3+ blazeds 整合的一个简单的实例。
基础编程:Java快速排序实例详解
Spring中IoC的入门实例详解.doc
实例MATLAB教学:MATLAB十个基础入门实例详解提取方式是百度网盘分享地址
51单片机新手入门实例详解.pdf
MATLAB教学视频:MATLAB十个基础入门实例详解