一个简单的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了!
分享到:
相关推荐
`getMailbox()` 方法返回指定给 Actor 的 mailbox 实例,而 `getMailboxFactory()` 返回创建 mailboxes 的 `MailFactory`,这是一个用于创建和管理 mailbox 的工厂类。`getParent()` 方法返回注解的父 Actor 或者 ...
【JSP(Java Server Pages)入门知识详解】 JSP(Java Server Pages)是Java平台上的一个服务器端脚本语言,用于开发动态Web应用程序。它允许开发者将HTML代码与Java代码混合编写,使得网页内容能够根据服务器端的...
第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释执行命令的使用10 1.2.5...
- 开发Java Mail实现邮件发送功能。 #### 三、JavaWeb应用简介 - **教学目标**: - 理解JavaWeb应用的基本概念。 - 掌握Servlet容器的工作原理。 - 学习如何安装和启动Tomcat服务器。 - 创建并部署简单的...
### JBPM 4.4 实用教材:HelloWorld 示例详解 #### 一、JBPM简介与应用场景 JBPM(Java Business Process Management)是一款开源的工作流引擎,它支持业务流程管理和控制,尤其适用于需要灵活定制流程的企业级...
### Activiti 5.8中文用户手册核心知识点详解 #### 一、简介 **1.1 许可** - **概述:** Activiti遵循Apache 2.0许可证,这意味着它是完全开源的,并允许用户自由地使用、修改和分发。 **1.2 下载** - **官方下载...
第 1 章 helloworld..............................................2 1.1 下载开发套件.............................................2 1.2 安装流程设计器 .........................................7 1.3 jBPM...
第 1 章 helloworld..............................................2 1.1 下载开发套件.............................................2 1.2 安装流程设计器 .........................................7 1.3 jBPM...