- 浏览: 88060 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
medicine:
总结不错,回去验证一下
Ibatis中#和$的区别 -
Hunk_Gou:
有帮助到,Thx
关于POI与JXL的比较 -
shawnfree:
javacsv读取csv好吗?那个更好。
Java读取csv文件 -
SunComing:
感謝分享, 很清楚也指多兩者的優缺點, 謝謝
关于POI与JXL的比较 -
fulianglove:
非常好!谢谢!
Java gc
今天研究了一下JavaMail,总算对它有了点新的认识.
需要两个包,mail.jar,activation.jar.
以下是实现代码:
需要两个包,mail.jar,activation.jar.
以下是实现代码:
package javamaildemo; import java.io.IOException; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.AuthenticationFailedException; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; 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; public class EmailUtil { //要发送Email地址 private String mailTo; //Mail发送的起始地址 private String mailFrom; //smtp的地址 private String smtpHost; //是否采用debug模式 private boolean debug = false; //邮件主题 private String subject; //邮件内容 private String msgContent; //邮件类型 private String msgContentMimeType="text/html;charset=UTF-8"; //邮件附件列表 private List attachedFileList; //附件的位置 private String messageBasePath; public EmailUtil() { super(); } /* * 填充Email内容,包括发件人,收件人,主题,主体,附件,发信日期 * @param Session,MimeMessage */ public void fillMail(Session session,MimeMessage msg)throws IOException, MessagingException { String fileName; Multipart mPart=new MimeMultipart(); if(mailFrom != null) { msg.setFrom(new InternetAddress(mailFrom)); System.out.println("发送人Email地址: " + mailFrom); } else { System.out.println("没有指定发送人邮件地址!"); return; } if(mailTo !=null) { InternetAddress[] address = InternetAddress.parse(mailTo); msg.setRecipients(Message.RecipientType.TO, address); System.out.println("收件人Email地址: "+mailTo); } else { System.out.println("没有指定收件人邮件地址!"); return; } msg.setSubject(subject); InternetAddress[] replyAddress = {new InternetAddress(mailFrom)}; msg.setReplyTo(replyAddress); MimeBodyPart mBodyContent = new MimeBodyPart(); if(msgContent != null) { mBodyContent.setContent(msgContent, msgContentMimeType); } else { mBodyContent.setContent("",msgContentMimeType); } mPart.addBodyPart(mBodyContent); if(attachedFileList != null) { for(Iterator i=attachedFileList.iterator();i.hasNext();) { fileName = (String)i.next(); MimeBodyPart mBodyPart = new MimeBodyPart(); FileDataSource fds = new FileDataSource(messageBasePath + fileName); System.out.println("Mail发送的附件为: "+messageBasePath + fileName); mBodyPart.setDataHandler(new DataHandler(fds)); mBodyPart.setFileName(fileName); mPart.addBodyPart(mBodyPart); } } msg.setContent(mPart); msg.setSentDate(new Date()); } /* * 发送Email,返回0表示邮件发送成功,返回3表示邮件发送失败 * @return int */ public int sendEmail() throws IOException,MessagingException { Properties props = System.getProperties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.auth", "true"); MailAuthenticator auth = new MailAuthenticator(); Session session = Session.getInstance(props,auth); session.setDebug(debug); MimeMessage msg = new MimeMessage(session); Transport trans = null; try { fillMail(session,msg); trans = session.getTransport("smtp"); try { trans.connect(smtpHost,auth.USER,auth.PASSWORD); } catch(AuthenticationFailedException e) { e.printStackTrace(); System.out.println("连接邮件服务器错误!"); return 3; } catch(MessagingException e) { System.out.println("连接邮件服务器错误!"); return 3; } trans.send(msg); trans.close(); } catch(MessagingException mex) { System.out.println("发送邮件失败!"); mex.printStackTrace(); Exception ex = null; if((ex=mex.getNextException())!=null) { System.out.println(ex.toString()); ex.printStackTrace(); } return 3; } finally { try{ if(trans != null && trans.isConnected()) trans.close(); }catch(Exception e){ System.out.println(e.toString()); } } System.out.println("发送邮件成功!"); return 0; } class MailAuthenticator extends Authenticator { private String USER="帐号"; private String PASSWORD="密码"; protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(USER,PASSWORD); } } public boolean isDebug() { return debug; } public void setDebug(boolean debug) { this.debug = debug; } public String getMailFrom() { return mailFrom; } public void setMailFrom(String mailFrom) { this.mailFrom = mailFrom; } public String getMailTo() { return mailTo; } public void setMailTo(String mailTo) { this.mailTo = mailTo; } public String getMsgContent() { return msgContent; } public void setMsgContent(String msgContent) { this.msgContent = msgContent; } public String getSmtpHost() { return smtpHost; } public void setSmtpHost(String smtpHost) { this.smtpHost = smtpHost; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getMsgContentMimeType() { return msgContentMimeType; } public void setMsgContentMimeType(String msgContentMimeType) { this.msgContentMimeType = msgContentMimeType; } public List getAttachedFileList() { return attachedFileList; } public void setAttachedFileList(List attachedFileList) { this.attachedFileList = attachedFileList; } public String getMessageBasePath() { return messageBasePath; } public void setMessageBasePath(String messageBasePath) { this.messageBasePath = messageBasePath; } }
发表评论
-
LOG4J配置详解
2011-01-20 10:00 795第一步:加入log4j-1.2.8.j ... -
Resin特性
2011-01-13 17:59 1084Resin的特点 Resin提供了最快的jsp/servle ... -
oracle排序方法
2010-10-13 15:01 1347Oracle9i之前,中文是按照二进制编码进行排序的。在ora ... -
volatile使用
2010-09-08 11:20 654Java™ 语言包含两种内 ... -
DPF项目积累
2010-09-08 08:47 20221. JSTL标签导入 <%@taglib prefix ... -
PrintWriter与ServletOutputStream的区别
2010-08-31 14:57 1511PrintWriter 与 ServletOutputStre ... -
JAVA中volatile的意义
2010-08-16 11:10 848我们知道,在Java中设置变量值的操作,除了long和doub ... -
eclipse常用快捷键
2010-08-12 13:40 748Eclipse 常用快捷键 Eclipse ... -
分页封装
2010-08-10 11:03 929PagesFactory: /** * 分页 ... -
CachedRowSet Invalid scale size. Cannot be less than zero
2010-08-10 10:17 1485在项目中有用到CachedRowSet这个类 在底层封装的方法 ... -
JAVA反射小例子
2010-08-10 10:04 830package com.xhj.test; impo ... -
Java gc
2008-08-07 17:28 17721.JVM的gc概述 gc即 ... -
Java读取csv文件
2008-06-02 16:03 8330首先在http://ostermiller.org/utils ... -
JasperReport-applet
2008-04-09 18:03 5200最近因为项目需要,要在applet上显示报表,一下子傻了眼,a ... -
HttpClient的学习
2008-01-16 11:50 1802HttpClient简介 HttpClient是Ap ... -
关于POI与JXL的比较
2008-01-09 12:01 12720POI为apache公司的一个子项目,主要是提供一组操作win ... -
Java的通用方法
2007-12-03 18:09 947public void method(Object ... ...
相关推荐
在JavaMail中,我们可以使用 javax.mail 包中的接口和类来实现邮件服务。本教程将详细讲解如何使用 JavaMail 实现邮件发送功能,包括支持多个接收人、抄送人以及添加多个附件。 首先,确保你已经添加了 JavaMail 的...
在这个例子中,我们将深入探讨如何利用James服务器和JavaMail API来实现这一目标,同时处理中文内容和附件。 首先,James(Apache James)是一个开源的邮件服务器,它支持SMTP、POP3和IMAP协议,可以作为企业级的...
springboot集成javamail,实现发送邮件的功能,可以发送文本类型邮件,也可以发送html格式的邮件,其中整合了mysql、mybatis 具体集成步骤可以参考我的文章: https://www.jianshu.com/p/668d320b4981
总结起来,JavaMail是Java开发中处理邮件通信的重要工具,它通过简单的API实现了邮件的发送和接收,广泛应用于各种企业级应用和自动化任务中。通过深入理解和实践,你可以轻松地构建出满足各种需求的邮件功能。
在这个项目中,我们将会探讨如何使用 JavaMail 实现单发和群发邮件的操作。 首先,为了使用 JavaMail 发送邮件,我们需要引入相关的依赖。在 Maven 项目中,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
本篇将深入探讨如何使用JavaMail实现发送邮件,以及相关的源码分析。 首先,我们需要了解JavaMail的基本组件。`javax.mail`库主要包含以下关键接口和类: 1. `Session`:这是JavaMail的核心,代表与邮件服务器的...
本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要导入 JavaMail 相关的库。在 Maven 项目中,可以在 `pom.xml` 文件中添加以下依赖: ```xml <groupId>com.sun.mail</groupId> <artifactId>...
在本项目中,我们将重点讨论如何使用 JavaMail 实现邮件的发送功能,以及涉及到的关键知识点。 首先,`javax.mail-1.5.1.jar` 是 JavaMail 的核心库文件,包含了处理邮件操作所需的类和接口。这个库提供了包括创建...
在本文中,我们将深入探讨如何使用 JavaMail 实现群发邮件的功能。 首先,要使用 JavaMail 发送邮件,我们需要添加其依赖到项目中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
总的来说,这个"学士后 第三单元 OA系统 javamail实现"课程不仅涵盖了邮件通信的基本原理,还涉及到实际项目开发中的一些关键技术,如SSH框架的应用,对于想要深入理解和实践企业级OA系统开发的学员来说,是非常宝贵...
在本篇中,我们将深入探讨如何利用 JavaMail 实现发送邮件。 首先,要使用 JavaMail,我们需要引入必要的库。通常,这包括 javax.mail 和 javax.mail.internet 包。这两个包提供了创建、配置和发送邮件所需的所有...
在这个主题中,我们将深入探讨如何使用 JavaMail 实现邮件的加密和解密,以及如何进行邮件的签名,确保通信的安全性。 1. **JavaMail 基础** 在 JavaMail 中,`javax.mail` 和 `javax.mail.internet` 包提供了主要...
在本文中,我们将深入探讨如何使用 JavaMail 实现发送邮件的功能。 首先,你需要在项目中引入 JavaMail 相关的依赖库。常见的方法是通过 Maven 或 Gradle 的依赖管理来添加。对于 Maven,可以在 `pom.xml` 文件中...
【作品名称】:基于Javamail实现的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程...
本篇将详细介绍如何利用 JavaMail 实现邮件发送,包括发送、抄送、密送多人以及添加多附件。 首先,你需要在项目中引入 JavaMail 的依赖。如果是 Maven 项目,可以在 `pom.xml` 文件中添加如下依赖: ```xml ...
【JavaMail实现邮件收取详解】 JavaMail 是一个用于处理电子邮件的开源库,它提供了发送和接收邮件的功能。本文将详细讲解如何使用JavaMail API来实现邮件的收取。 首先,我们需要了解一些基本配置。在示例代码中...
在这个场景中,提到的"使用javaMail实现发送邮件所需的jar包集合"指的是JavaMail的核心依赖,通常包括以下三个关键的JAR文件: 1. **mail.jar**:这是JavaMail的核心库,包含了处理SMTP(简单邮件传输协议)、POP3...
用javaMail实现公司内网邮箱邮件发送,包括邮件附件,邮件发送人和抄送人
这个压缩包包含了一组与 JavaMail 相关的源代码和必要的库文件,使得开发者可以快速地理解和实现邮件功能。 1. **mail.jar**:这是一个核心的 JavaMail JAR 文件,包含了 JavaMail API 的所有类和接口,如 `javax....
javamail实现的邮件发送功能,内含完整代码和jar包,邮件服务协议smtp,pop3,用javamail发送邮件,支持QQ,163邮件发送。相同邮件(QQ邮箱给QQ邮箱)和不同邮件(QQ邮箱给163邮箱)是不一样的。