- 浏览: 247507 次
- 性别:
- 来自: Shanghai
文章分类
最新评论
-
a790851624:
本人刚到公司,接到一个任务:在java代码中集成kettle的 ...
java应用程序中集成Kettle -
obnijeh:
谢谢共享,正需要。
Kettle 简介及Kettle用户操作手册 -
zhaokui:
很好,很好
Java中SimpleDateFormat用法详解——获得常用时间表示法(二) -
zhaokui:
,不错,不错
Java中SimpleDateFormat用法详解(一) -
babaoqi:
学习下,O(∩_∩)O谢谢了
Kettle 简介及Kettle用户操作手册
JAVA API 文档见附件
/**
*
* SendMail.java
*/
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.activation.URLDataSource;
import javax.mail.BodyPart;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
//import javax.mail.internet.MailDateFormat;
public class SendMail {
public static String TEXT = "text/plain;charset=gb2312";
public static String HTML = "text/html;charset=gb2312";
private String host; //邮件服务器
private String user; //用户名
private String pass;//用户密码
private String from;//发信人
private String to;//收信人
private String cc;//Carbon Copy, 抄送邮件给某人
private String bc;//bcc Blind Carbon Copy,隐蔽副本 隐蔽抄送给某人
private String subject;//邮件主题
private BodyPart body;//邮件内容
private boolean needAuth; //是否需要认证
private List attaches;//邮件附件
/**
* 构造方法
*
*/
public SendMail() {
needAuth = true;
attaches = new ArrayList();
}
/**
* 构造方法
* @param host
*/
public SendMail(String host) {
needAuth = true;
attaches = new ArrayList();
this.host = host;
}
/**
* 构造方法
* @param host
* @param user
* @param pass
*/
public SendMail(String host, String user, String pass) {
needAuth = true;
attaches = new ArrayList();
this.host = host;
this.user = user;
this.pass = pass;
}
//设置邮件服务器是否需要认证
public void setNeedAuth(boolean needAuth) {
this.needAuth = needAuth;
}
public void setFrom(String from) {
this.from = from;
}
public void setTo(String to) {
this.to = to;
}
public String getPass() {
return pass;
}
public String getUser() {
return user;
}
public void setPass(String string) {
pass = string;
}
public void setUser(String string) {
user = string;
}
public String getFrom() {
return from;
}
public String getHost() {
return host;
}
public boolean isNeedAuth() {
return needAuth;
}
public String getSubject() {
return subject;
}
public void setHost(String string) {
host = string;
}
public void setBlindTo(String bc) {
this.bc = bc;
}
public void setCopyTo(String cc) {
this.cc = cc;
}
public void setSubject(String subject) {
this.subject = subject;
}
/**
* 设置邮件内容的形式
* @param string
* @param contentType
*/
public void setBody(String string, String contentType) {
try {
body = new MimeBodyPart();
DataHandler dh = new DataHandler(string, contentType);
body.setDataHandler(dh);
} catch (Exception exception) {
}
}
/**
* 设置邮件的内容的格式为文本格式
* @param string
*/
public void setBodyAsText(String string) {
setBody(string, TEXT);
}
/**
* 以HTMl的形式存放内容
* @param string
*/
public void setBodyAsHTML(String string) {
setBody(string, HTML);
}
/**
* 从文件中自动导入邮件内容
* @param filename
*/
public void setBodyFromFile(String filename) {
try {
BodyPart mdp = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
DataHandler dh = new DataHandler(fds);
mdp.setDataHandler(dh);
attaches.add(mdp);
} catch (Exception exception) {
}
}
/**
* 从一个URL导入邮件的内容
* @param url
*/
public void setBodyFromUrl(String url) {
try {
BodyPart mdp = new MimeBodyPart();
URLDataSource ur = new URLDataSource(new URL(url));
DataHandler dh = new DataHandler(ur);
mdp.setDataHandler(dh);
attaches.add(mdp);
} catch (Exception exception) {
}
}
/**
* 将String中的内容存放入文件showname,并将这个文件作为附件发送给收件人
* @param string 为邮件的内容
* @param showname 显示的文件的名字
*/
public void addAttachFromString(String string, String showname) {
try {
BodyPart mdp = new MimeBodyPart();
DataHandler dh = new DataHandler(string, TEXT);
mdp.setFileName(MimeUtility.encodeWord(showname, "gb2312", null));
mdp.setDataHandler(dh);
attaches.add(mdp);
} catch (Exception exception) {
}
}
/**
* filename为邮件附件
*在收信人的地方以showname这个文件名来显示
* @param filename
* @param showname
*/
public void addAttachFromFile(String filename, String showname) {
try {
BodyPart mdp = new MimeBodyPart();
FileDataSource fds = new FileDataSource(filename);
DataHandler dh = new DataHandler(fds);
mdp.setFileName(MimeUtility.encodeWord(showname, "gb2312", null));
mdp.setDataHandler(dh);
attaches.add(mdp);
} catch (Exception exception) {
}
}
/**
* 将互联网上的一个文件作为附件发送给收信人
* 并在收信人处显示文件的名字为showname
* @param url
* @param showname
*/
public void addAttachFromUrl(String url, String showname) {
try {
BodyPart mdp = new MimeBodyPart();
URLDataSource ur = new URLDataSource(new URL(url));
DataHandler dh = new DataHandler(ur);
mdp.setFileName(MimeUtility.encodeWord(showname, "gb2312", null));
mdp.setDataHandler(dh);
attaches.add(mdp);
} catch (Exception exception) {
}
}
/**
* 发送邮件,需要身份认证
* @throws Exception
*/
public void send() throws Exception {
try {
Properties props = new Properties();
if (host != null && !host.trim().equals(""))
props.put("mail.smtp.host", host);
else
throw new Exception("没有指定发送邮件服务器");
if (needAuth)
props.put("mail.smtp.auth", "true");
Session s = Session.getInstance(props, null);
MimeMessage msg = new MimeMessage(s);
//设置邮件主题
msg.setSubject(subject);
//设置邮件发送时间
msg.setSentDate(new Date());
//制定发件人
if (from != null)
msg.addFrom(InternetAddress.parse(from));
else
throw new Exception("没有指定发件人");
//指定收件人
if (to != null)
msg.addRecipients(javax.mail.Message.RecipientType.TO,
InternetAddress.parse(to));
else
throw new Exception("没有指定收件人地址");
//指定抄送给谁
if (cc != null)
msg.addRecipients(javax.mail.Message.RecipientType.CC,
InternetAddress.parse(cc));
//制定隐藏抄送给谁
if (bc != null)
msg.addRecipients(javax.mail.Message.RecipientType.BCC,
InternetAddress.parse(bc));
Multipart mm = new MimeMultipart();
//设置邮件的附件
if (body != null)
mm.addBodyPart(body);
for (int i = 0; i < attaches.size(); i++) {
BodyPart part = (BodyPart) attaches.get(i);
mm.addBodyPart(part);
}
// 设置邮件的内容
msg.setContent(mm);
//保存所有改变
msg.saveChanges();
//发送邮件服务器(SMTP),简单邮件传输协议
Transport transport = s.getTransport("smtp");
//访问邮件服务器
transport.connect(host, user, pass);
//发送信息
transport.sendMessage(msg, msg.getAllRecipients());
//关闭邮件传输
transport.close();
} catch (Exception e) {
throw new Exception("发送邮件失败:", e);
}
}
}
sendmail.jsp:
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ page import="ten.*,simpleforum.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>发送邮件测试</title>
<meta name="copyright" content="邮件发送测试. All rights reserved.">
<meta name="Keywords" content="jsp,servlet,mail">
<meta name="Description" content="发送邮件测试">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
<%
String host = ParamUtil.getParameter(request,"host");
String user = ParamUtil.getParameter(request,"user");
String password = ParamUtil.getParameter(request,"password");
String subject = ParamUtil.getParameter(request,"subject");
String to = ParamUtil.getParameter(request,"to");
String from = ParamUtil.getParameter(request,"from");
String bodyashtml = ParamUtil.getParameter(request,"bodyashtml");
String attachfile = ParamUtil.getParameter(request,"attachfile");
out.println("<br>"+host);
out.println("<br>"+user);
//out.println("<br>"+password);
out.println("<br>"+subject);
out.println("<br>"+to);
out.println("<br>"+from);
out.println("<br>"+bodyashtml);
out.println("<br>"+attachfile);
try {
SendMail send = new SendMail();
send.setHost(host);
send.setUser(user);
send.setPass(password);
send.setSubject(subject);
send.setTo(to);
send.setFrom(from);
send.setBodyAsHTML(bodyashtml);
send.addAttachFromFile(attachfile,"aa.txt");
send.send();
out.println("<br>邮件发送成功!!!");
} catch (Exception e) {
out.println("<br>"+e.getMessage());
out.println("<br>邮件发送失败!!!");
}
%>
</body>
</html>
testmail.jsp:
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<%@ page import="ten.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>发送邮件测试</title>
<meta name="copyright" content="邮件发送测试. All rights reserved.">
<meta name="Keywords" content="jsp,servlet,mail">
<meta name="Description" content="发送邮件测试">
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" action="sendmail.jsp">
<table border="1" cellpadding="0" cellspacing="3" align="center">
<tr>
<td>邮件服务器</td><td><input type="text" name="host" value="mail.keylab.net"></td>
</tr>
<tr>
<td>用户名</td><td><input type="text" name="user" value="wangmj@keylab.net"></td
>
</tr>
<tr>
<td>密码</td><td><input type="password" name="password" value="root3wmj"></td>
</tr>
<tr>
<td>邮件主体</td><td><input type="text" name="subject" value="邮件发送测试"></td>
</tr>
<tr>
<td>收件人</td><td><input type="text" name="to" value="wangmj@keylab.net"></td
>
</tr>
<tr>
<td>发送人</td><td><input type="text" name="from" value="wangmj@keylab.net"></td
>
</tr>
<tr>
<td>邮件内容</td><td><input type="text" name="bodyashtml" value="大家好!邮件测试。"></td>
</tr>
<tr>
<td>附件</td><td><input type="text" name="attachfile" value="d://myforum.txt"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="发送" ></td>
<td><input type="reset" name="reset" value="重置" ></td>
</tr>
</table>
</form>
</body>
</html>
- javamail1_4_4.zip (2.8 MB)
- 下载次数: 7
发表评论
-
Java虚拟机工作原理详解
2014-05-19 17:11 636一、类加载器 首先来看一下java程序的执行过程。 ... -
xml特殊字符转义技术
2013-12-05 15:14 1034在项目测试阶段,测试人员会输入一些特殊字符,比如:< ... -
junit4注解
2013-10-25 16:10 7591 @BeforeClass @AfterC ... -
java内部类的作用分析
2012-12-14 16:33 792提起Java内部类(Inner Class)可能很多人不 ... -
Weblogic远程调试
2012-10-15 15:04 713配置weblogic远程调试之前,需要做这几个工作: 1 ... -
log4j.properties配置详解
2012-06-08 11:18 753Log4J的配置文件(Configuration Fil ... -
Tomcat部署Web应用方法总结
2012-05-23 11:20 1243Tomcat部署Web应用方法 ... -
oracle恢复误删除数据,解除锁定的等sql语句
2011-11-24 10:51 1086注意:数据库版本是10g,不过大部分9i的也适用,闪回9i就没 ... -
log4j日志级别
2011-11-17 20:22 975日志记录器(Logger)是日 ... -
cookies原理
2011-11-04 11:14 940实际上,Cookie的作用就是与服务器互动。 用户登录:在很多 ... -
tomcat 的一些基本配置
2011-11-01 14:51 518管理员配置:打开tomcat安装目录里面的conf/tomca ... -
web.xml中<security-constraint>和四种认证类型
2011-11-01 10:04 1016<security-constraint> 的子元 ... -
Ubuntu通过apt-get命令安装java jdk6
2011-09-01 08:15 1695其实Ubu ... -
Maven,ant 工具
2011-08-24 17:31 1306一:Maven,ant 工具比较 Apache ... -
java将多个文件一起打成zip包后下载实例
2011-08-24 17:23 3541//文件打包下载 pu ... -
java将文件打成zip包
2011-08-23 13:47 1888大家可能对于Zip格式的 ... -
jsp动态上传多个文件---实用的例子
2011-08-17 17:26 1216现在还有一个错误就是文件名是中文的话,就乱码。还在改进. u ... -
va自动创建多层文件目录
2011-07-28 17:50 727... -
JavaMail 发送邮件例子(包括附件,及信息,及html内容的图片处理)
2011-07-07 18:36 1393public void SendMessage(Str ... -
JavaMail API 核心解说
2011-07-07 18:30 1164(javaMail APL 例子资源见 ...
相关推荐
本项目“用Java实现E-mail客户端”就是一个基于JavaMail API的简单示例,旨在展示如何利用Java进行E-mail操作。 首先,JavaMail API提供了对SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol ...
案例4 利用Java API发送E-mail 案例5 从Mail Server删除一条消息 案例6 在Java程序中实现FTP的功能 案例7 一个最简单的聊天程序 案例8 代理服务器的实现 第十章 Java综合实例 案例1 用Java...
本项目“Java实现e-mail邮件客户端”专注于发送邮件功能,它利用Java的图形用户界面(GUI)设计,让用户能够方便地输入邮件信息并发送。 首先,我们需要了解JavaMail API的核心组件: 1. **Properties对象**:存储...
实例181 利用Java API发送E-mail 574 第19章 数据库技术 583 实例182 连接各种数据库 583 实例183 创建表结构 587 实例184 表数据的基本操作 590 实例185 批处理 593 实例186 事务处理 596 实例187 Applet...
通过以上步骤,你就能够利用Java Mail API和QQ邮件服务器批量发送邮件了。记住,发送大量邮件时应遵循邮件服务器的使用政策,避免被标记为垃圾邮件。同时,确保你的应用程序具有良好的用户体验,如提供进度反馈和...
JavaMail 是 Sun Microsystems 提供的一套 API 集合,用于在 Java 应用程序中发送和接收电子邮件。它支持多种协议,如 SMTP、IMAP 和 POP3 等。通过 JavaMail,开发者可以轻松地实现邮件功能,而无需深入了解底层...
本教程将详细讲解如何利用JavaMail API实现邮件发送功能,特别是针对无需邮件服务器的情况,例如直接使用网易163邮箱进行发送。 首先,要使用JavaMail,我们需要引入相关的依赖库。在Maven项目中,可以在pom.xml...
通过以上介绍,我们可以看到,使用Java Mail API发送带有图片的HTML邮件虽然涉及一些复杂的步骤,但通过合理地组织代码和利用Java Mail API提供的功能,完全可以实现这一目标。对于从事Java开发的工程师来说,掌握这...
在Java编程中,实现定时发送信息的功能,可以利用Java的定时任务处理库,例如`java.util.Timer`类或`java.util.concurrent.ScheduledExecutorService`。这些工具可以帮助我们创建一个类似于闹钟的服务,按照预设的...
本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户体验。 首先,JavaMail API是Java中用于处理电子邮件的主要库。它提供了丰富的API,可以用来创建、发送和...
这个压缩包文件很可能包含了一组示例代码或工具,帮助我们理解如何使用Java Mail API来实现邮件功能。 在Java中,发送邮件主要依赖于JavaMail API和Java Activation Framework (JAF)。JavaMail API负责邮件的创建、...
SpringBoot通过其内置的`spring-boot-starter-mail`模块提供了便捷的邮件发送功能,结合JDK的邮件API,我们可以轻松地实现邮件的发送。 首先,为了集成SpringBoot的邮件服务,我们需要在项目的`build.gradle`或`pom...
这就是使用JavaMail API发送邮件的基本过程。你可以在此基础上添加更复杂的功能,如附件、HTML内容、抄送和密送等。这个“java发送邮件Demo”为你提供了一个良好的起点,帮助你理解和实现基于Java的邮件发送功能。
JavaMail API是一个允许Java应用程序读取和发送邮件的标准接口。它支持多种邮件协议,并提供了丰富的API来处理各种邮件任务。JavaMail可以与不同的服务提供商一起工作,如Gmail、Yahoo Mail等,使得开发者能够轻松地...
Java程序可以利用SMTP服务发送邮件,但需要通过一个API来实现,JavaMail就是这样的工具。 JavaMail API是Java中用于处理邮件的接口库,它提供了创建、发送和接收邮件的功能。要使用JavaMail发送邮件,你需要以下...
JavaMail API是Java平台上的一个标准API,它提供了邮件处理的功能,包括创建、发送、接收和管理邮件。这个API包括了`javax.mail`和`javax.mail.internet`两个主要包,包含了各种邮件相关的类和接口。 2. **必备库*...
标题中的“Knock-mail-Verify-if-email-exists-or-find-valid-E-mail-SCRIPT-CODE-”表明这是一个关于验证电子邮件地址是否有效或存在的脚本代码。在IT行业中,这通常涉及到电子邮件验证技术,它可以帮助用户确保...
在处理邮件发送功能时,SpringBoot提供了便捷的集成方案,使得开发者无需深入理解JavaMail API的复杂性,即可轻松实现邮件服务。 在SpringBoot中,邮件服务的实现主要依赖于`spring-boot-starter-mail`这个starter...
要实现邮箱发送,你需要引入JavaMail API的相关依赖,通常包括`javax.mail`和`javax.mail-api`这两个库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> ...
JavaMail API 是一个开源的Java库,用于处理电子邮件的创建、发送和接收。这个API提供了一组接口和类,使得开发者能够直接与SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)服务器进行交互...