JAVA实用工具--javamail
在实现javamail之前首先要搭建邮件服务器
James
telnet localhost
没有反应的需要在控制面板-->程序与功能-->打开或关闭windows功能中 打开Telnet服务即可
JavaMail简介及配置
JavaMail是Java中专门用来处理电子邮件处理的一套规范,使用它可以方便的进行mail的发送、也可以使用JavaMail开发出类似于Microsoft Outlook样的应用程序。
JavaMail核心类:
- javax.mail.Session:表示整个邮件的会话,所有的类都要通过session才可以使用;
- javax.mail.Message:Message类表示的是邮件传递的内容;
- javax.mail.Address:当确定好Session和Message之后,就可以通过Address进行发送地址的指定;
- javax.mail. Authenticator:使用此类可以通过用户名和密码保护资源;
- javax.mail.Transport:在消息发送的最后一步使用此类,此类的功能是使用指定的语言发送消息;
- javax.mail.Store:此类主要是进行信息的读、写等操作,也可以通过此类读取文件夹中的邮件;
- javax.mail.Folder:用于对邮件进行分级管理。
实例:发送普通邮件
<%@ page contentType="text/html; charset=GBK" language="java" %>
<html>
<head>
<title>发送普通文本格式的E-mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<link href="css/style.css" rel="stylesheet">
<script language="javascript">
function checkform(myform){
for(i=0;i<myform.length;i++){
if(myform.elements[i].value==""){
alert(myform.elements[i].title+"不能为空!");
myform.elements[i].focus();
return false;
}
}
}
</script>
</head>
<body>
<form name="form1" method="post" action="mydeal.jsp" onSubmit="return checkform(form1)">
<table width="588" height="360" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bg.jpg">
<tr>
<td width="60" height="73" background="Images/board_left.gif"> </td>
<td width="486" background="Images/board_left.gif"> </td>
<td width="46" background="Images/board_left.gif"> </td>
</tr>
<tr valign="top">
<td height="247"> </td>
<td valign="top"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="16%" height="27" align="center">收件人:</td>
<td width="84%" colspan="2" align="left"><input name="to" type="text" id="to" title="收件人" size="60" ></td>
</tr>
<tr>
<td height="27" align="center">发件人:</td>
<td colspan="2" align="left"><input name="from" type="text" id="from" title="发件人" size="60"></td>
</tr>
<tr>
<td height="27" align="center">密 码:</td>
<td colspan="2" align="left"><input name="password" type="password" id="password" title="发件人信箱密码" size="60"></td>
</tr>
<tr>
<td height="27" align="center">主 题:</td>
<td colspan="2" align="left"><input name="subject" type="text" id="subject" title="邮件主题" size="60"></td>
</tr>
<tr>
<td height="93" align="center">内 容:</td>
<td colspan="2" align="left"><textarea name="content" cols="59" rows="7" class="wenbenkuang" id="content" title="邮件内容"></textarea></td>
</tr>
<tr>
<td height="30" align="center"> </td>
<td height="40" align="right"><input name="Submit" type="submit" class="btn_bg" value="发送">
<input name="Submit2" type="reset" class="btn_bg" value="重置">
<input name="Submit3" type="button" class="btn_bg" onClick="window.close();" value="关闭">
</td>
<td align="left"> </td>
</tr>
</table></td>
<td> </td>
</tr>
<tr valign="top">
<td height="40"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
mydeal.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import ="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="org.apache.commons.mail.*" %>
<%
try{
request.setCharacterEncoding("GBK");
String from=request.getParameter("from");
String to=request.getParameter("to");
String subject=request.getParameter("subject");
String messageText=request.getParameter("content");
String password=request.getParameter("password");
String mailserver="localhost"; //局域网发送邮件时的SMTP服务器
SimpleEmail email = new SimpleEmail();
email.setHostName(mailserver);//设置邮件服务器
email.setAuthentication(from,password);//设置邮箱用户名和密码
email.setFrom(from); //设置发件人地址
email.addTo(to); //设置收件人地址
email.setSubject(subject); //设置主题
email.setSentDate(new Date());//设置发送时间
email.setMsg(messageText); //设置发送的消息
email.send(); //发送邮件
out.println("<script language='javascript'>alert('邮件已发送!');window.location.href='index.jsp';</script>");
}catch(Exception e){
e.printStackTrace();
System.out.println("发送邮件产生的错误:"+e.getMessage());
out.println("<script language='javascript'>alert('邮件发送失败!');window.location.href='index.jsp';</script>");
}
%>
需要导的包:mail.jar
JAVA实用工具--javamail的更多相关文章
- 常用的16个Java实用工具类,Java开发人员请收藏!
在Java中,实用程序类是一个定义一组执行常用功能的方法的类.这篇文章展示了最常用的Java实用程序类及其最常用的方法.类列表及其方法列表都按流行度排序.该数据基于GitHub随机选择的50,000个 ...
- 【Java实用工具】——使用oshi获取主机信息
最近在筹划做一个监控系统.其中就要获取主机信息,其中遇到一些问题.在此做个记录,以便以后查阅. 在该监控系统中,想要做到主机的CPU.内存.磁盘.网络.线程.JVM内存.JVM GC 等维度的监控,J ...
- Java效率工具Lombok使用与原理
Java效率工具Lombok使用与原理 我个人觉得 Lombok是一个优化Java代码以及提升开发效率不错的工具.Lombok 的Github地址为:https://github.com/rzwits ...
- Java日期时间实用工具类
Java日期时间实用工具类 1.Date (java.util.Date) Date(); 以当前时间构造一个Date对象 Date(long); 构造函数 ...
- java Http消息传递之POST和GET两种方法--通过实用工具类来获取服务器资源
实现该方法需要导入一些jar包 可以去一下地址下载: http://pan.baidu.com/s/1hqrJF7m /** * 实用工具类来获取服务器资源 * * get方法传送数据 * * 1.通 ...
- java开发工具比较(16个工具修订版)
1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...
- 每位iOS开发人员不容错过的10大实用工具
内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...
- JAVA实用案例之水印开发
写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...
- JAVA实用案例之图片水印开发
写在最前面 上周零零碎碎花了一周的时间研究水印的开发,现在终于写了个入门级的Demo,做下笔记同时分享出来供大家参考. Demo是在我上次写的 JAVA实用案例之文件导入导出(POI方式) 框架基础上 ...
随机推荐
- iOS 限制输入字数完美解决方案
关于限制输入字数以前也做过,网上也很多方法.但都不够完美,本方法可防止中文联想.粘贴等突破长途限制.可防止Emoji截为两半导致编码出问题. - (void)textFieldDidChange: ...
- Win10企业版转专业版
原文地址:https://jingyan.baidu.com/article/86112f136624322737978797.html 转换ISO镜像下载地址: ed2k://|file|cn_wi ...
- Web压力架构
原文地址:https://www.cnblogs.com/lori/archive/2015/03/27/4370827.html Web压力架构... 1 一 系统性能测试概述... 1 1.1 性 ...
- 转 Kubernetes 入门 概念理解
你闺女也能看懂的插画版Kubernetes指南 原创 2016-06-30 作者 周小璐 译 编者按:Matt Butcher是Deis的平台架构师,热爱哲学,咖啡和精雕细琢的代码.有一天女儿走进书 ...
- Apache Hadoop下一代MapReduce框架(YARN)简介 (Apache Hadoop NextGen MapReduce (YARN))
英文看着头大,先试着翻译一下. E文原文:http://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-yarn/hadoop-yarn-site/YARN ...
- 关系型数据库性能测试参考指标----SQL Server
注:以下指标取自SQL Server自身提供的性能计数器. [@more@] SQL Server 指标名称 指标描述 指标范围 指标单位 1.SQL Server中访问方法(Access Metho ...
- js判断是否IE浏览器
//ie? if (!!window.ActiveXObject || "ActiveXObject" in window){ //是 alert(1); }else{ //不是 ...
- POJ 1636 Prison rearrangement DFS+0/1背包
题目链接: id=1636">POJ 1636 Prison rearrangement Prison rearrangement Time Limit: 3000MS Memor ...
- [na]交换机原理/macof
交换机的工作原理 简单来说,就是根据源mac学习-->形成cam表,根据cam表转发. 正常情况下先arp广播,sw收到后发到本vlan所有出口,所有机器学习更新arp缓存. 目标机返回单播ar ...
- [svc]Linux中Swap与Memory内存简单介绍
swap区域是干嘛的 cpu 内存(不常用到的进程swap区) 磁盘 当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去.但是踢到哪里去,这时候swap就出现了. 背景介绍 对于Linux来说 ...