- 浏览: 369013 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
tuspark:
关于javadoc这里讲解的更全面:《javadoc设置》。
Eclipse中生成javadoc【Z】 -
yuexiang1007:
帮我解决了问题,谢谢!!!
java.math.BigInteger使用心得总结 -
netwelfare:
个人感觉,文章对HashMap的遍历分析的有点浅,不如这里的介 ...
HashMap遍历的两种方式【Z】 -
memoryisking:
关于java.math.BigInteger讲解在这里可以看到 ...
java.math.BigInteger使用心得总结 -
巴尾的兔兔帅:
divide应该是除吧?不是减。dividepublic Bi ...
java.math.BigInteger使用心得总结
commons-email-1.1.jar: 这是Apache组织下的一个项目,主要就是对java的邮件功能进行了封装,用起来更加方便,简单。
接下来我们就说说这个jar包。
首先肯定得下载commons-email-1.1.jar,并下载mail.jar和activation.jar(它们可以从sun的网站上下载,从下载的javamail和jaf中找到)。
如果没有mail.jar,则会有:Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Message 这样的错误提示。
如果没有activation.jar,则会有:Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource 这样的错误提示。
下面是一个简单的测试。
- Java代码
- import org.apache.commons.mail.EmailException;
- import org.apache.commons.mail.SimpleEmail;
- public class Send
- {
- public Send()
- {
- }
- public static void main(String[] args)
- {
- send();
- }
- public static void send()
- {
- SimpleEmail email = new SimpleEmail();
- email.setTLS(true );
- email.setHostName("smtp.gmail.com" );
- email.setAuthentication("***@gmail.com" , "***" ); //用户名和密码
- try
- {
- email.addTo("lifangxin2050@163.com" ); //接收方
- email.setFrom("lifangxin2050@gmail.com" ); //发送方
- email.setSubject("Java Mail Test" ); //标题
- email.setMsg("Just a simple send test ." ); //内容
- email.send();
- } catch (EmailException e) {
- e.printStackTrace();
- }
- }
- }
- import org.apache.commons.mail.EmailException;
- import org.apache.commons.mail.SimpleEmail;
- public class Send
- {
- public Send()
- {
- }
- public static void main(String[] args)
- {
- send();
- }
- public static void send()
- {
- SimpleEmail email = new SimpleEmail();
- email.setTLS(true ); //是否TLS校验,,某些邮箱需要TLS安全校验,同理有SSL校验
- // email.setSSL(true);
- email.setHostName("smtp.gmail.com" );
- email.setAuthentication("***@gmail.com" , "***" ); //用户名和密码
- try
- {
- email.addTo("lifangxin2050@163.com" ); //接收方
- email.addCc("ss327@163.com" ); //抄送方
- email.addBcc("ss377@163.com" ); //秘密抄送方
- email.setSubject("Java Mail Test" ); //标题
- email.setMsg("Just a simple send test ." ); //内容
- email.send();
- } catch (EmailException e) {
- e.printStackTrace();
- }
- }
- }
上面的邮件标题和内容用的都是英文,如果改为中文呢?我试了一下,结果邮件标题不是乱码,而邮件内容则中文部分是乱码。设置其charSet为GB2312或者UTF-8后就可以发送中文邮件了,显示正常了。如下面的代码。
- Java代码
- import org.apache.commons.mail.EmailException;
- import org.apache.commons.mail.SimpleEmail;
- public class Send
- {
- public Send()
- {
- }
- public static void main(String[] args)
- {
- send();
- }
- public static void send()
- {
- SimpleEmail email = new SimpleEmail();
- email.setTLS(true );
- email.setHostName("smtp.gmail.com" );
- email.setAuthentication("lifangxin2050@gmail.com" , "sdzzczqqyyxy" );
- try
- {
- email.addTo("lifangxin2050@163.com" );
- email.setFrom("lifangxin2050@gmail.com" ); //我方
- email.setSubject("Java发送邮件测试" ); //标题
- email.setCharset("GB2312" ); //设置Charset
- email.setMsg("这是一封Java程序发出的测试邮件。" ); //内容
- email.send();
- } catch (EmailException e) {
- e.printStackTrace();
- }
- }
- }
怎么样?简单吧~~~
有人这时说到了网页邮件,其实只需要把上面SimpleEmail换成HtmlEmail,然后设置邮件
内容的方法由setMsg(String str)变为setHtmlMsg(String
str)就可以了,这样就可以再邮件里使用<br/>等html标签来控制邮件的格式了.
还有人问,那么附件呢?别急,我们马上就来做个带附件发送的代码
- import java.net.MalformedURLException;
- import java.net.URL;
- import org.apache.commons.mail.EmailAttachment;
- import org.apache.commons.mail.EmailException;
- import org.apache.commons.mail.MultiPartEmail;
- publicclass AttachmentMailTest {
- publicstaticvoid main(String[] args) throws EmailException, MalformedURLException {
- // 创建一个Email附件
- EmailAttachment emailattachment = new EmailAttachment();
- emailattachment.setPath("/biao_05.jpg" );
- // emailattachment.setURL(new URL("http://www.blogjava.net/bulktree/picture/bulktree.jpg"));
- emailattachment.setDisposition(EmailAttachment.ATTACHMENT);
- emailattachment.setDescription("This is Smile picture" );
- emailattachment.setName("bulktree" );
- // 创建一个email
- MultiPartEmail multipartemail = new MultiPartEmail();
- multipartemail.setHostName("smtp.163.com" );
- multipartemail.addTo("bulktree@126.com" , "bulktree" );
- multipartemail.setFrom("bulktree@163.com" , "bulktree" );
- multipartemail.setAuthentication("bulktree" , "123456" );
- multipartemail.setSubject("This is a attachment Email" );
- multipartemail.setMsg("this a attachment Eamil Test" );
- //添加附件
- multipartemail.attach(emailattachment);
- //发送邮件
- multipartemail.send();
- System.out.println("The attachmentEmail send sucessful!!!" );
- }
- }
就这样,附件也发送成功了,大家可以试一下,另外这个项目是开源的,大家可以取下载它的src来看看,我暂时就说到这儿..
不过用这个commons-email-1.1.jar实现发邮件还是有2个值得注意的地方:
1.前面提到mail.jar和activation.jar包的问题,这两个包需要额外下载并且必不可少的两个包
2.不知是否是我使用错误或者软件环境导致,我在第一次使用时,出现了一个奇怪的异常:
在网上有人说是因为JavaEE版本和JavaMail的版本不一致导致的.我用的是jdk1.6.查了半天,没找到是哪里冲突了,于是我建web项目
时,选择1.4版本,于是没有出现任何问题,可以正常使用,估计应该是myeclipse建项目时自带的jar包引起了这个问题.我用的是
myeclipse 6.0.不知道在eclipse或其他版本的myeclipse上是否会出现这个问题
发表评论
-
JSTL中的<c:标签【Z】
2011-08-31 20:48 1145Taglib 伪指令 Java代码 ... -
java接口嵌套【Z】
2011-05-18 17:09 1341在Java语言中,接口可以嵌套在类或其它接口中。由于Jav ... -
JMF安装【Z】
2011-05-07 20:52 1093下载并安装JMF 在MyEclipse中选择 窗口/首选项/ ... -
java生成PDF文件【Z】
2011-01-14 15:03 1210如果应用程序需要动态 ... -
字符集编码【Z】
2010-12-29 18:54 892问题研究 --字符集 ... -
java常用第三方jar包【Z】
2010-12-26 22:39 3358commons-digester.jar Digeste ... -
不使用JNI获得系统信息【Z】
2010-12-22 13:28 587在Java中,可以获得总的物理内存、剩余的物理内存、已使用的物 ... -
java获得当前路径【Z】
2010-12-18 14:37 9411、利用System.getProperty()函数获取当前路 ... -
java容器类-1【Z】
2010-12-17 21:43 1011对象的集合 如果程序的对象数量有限 ... -
java UIManager的风格【Z】
2010-12-17 12:28 2670Java'中的几种Look and Feel 1、Met ... -
serialVersionUID的作用和意义【Z】
2010-12-15 10:38 1552在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性 ... -
HashMap遍历的两种方式【Z】
2010-12-07 18:42 967HashMap遍历的两种方式 ... -
23个经典JDK设计模式——系统JDK使用设计模式的例子【Z】
2010-12-05 21:33 1027酷壳 版主陈皓近日发表博文《JDK里的设计模式 》,文中他 ... -
String/StringBuffer/StringBuild【Z】
2010-11-12 14:10 1344[编辑] String,StringBuffer和String ... -
tomcat中web.xml详解【Z】
2010-10-18 14:47 9241 定义头和根元素 部 ... -
Java 理论与实践: 线程池与工作队列【Z】
2010-10-18 09:45 930线程池有助于实现最 ... -
单例模式完全剖析【Z】
2010-10-17 22:48 789Buildfile: build.xml ... -
在MyEclipse中直接查看class文件(在没有源码的情况下)【Z】
2010-10-17 22:04 1307想直接在myeclipse中查看class文件,就像查看普通的 ... -
HashMap实现及冲突【Z】
2010-10-12 21:41 961了解 HashMap 原理对于日后的缓存机制多少有 ... -
java HashMap的实现原理【Z】
2010-10-12 21:39 2940深入Java集合学习系列:HashMap的实现原 ...
相关推荐
这个javamail-1.4.7.7z压缩包包含了JavaMail 1.4.7版本的jar文件,使得开发者能够方便地在Java应用程序中实现邮件发送功能。这个jar包不仅适用于常规的Java应用,还可以用于性能测试工具如LoadRunner或负载测试工具...
这个“javamail1_4_7 (2).7z”压缩包包含了 JavaMail 1.4.7 版本的库文件,可以在开发基于 Java 的邮件应用时使用。 1. **JavaMail API**: JavaMail 提供了一组接口和类,用于处理电子邮件。这些接口包括 `Session`...
标题提到的"用javamail发邮件必须的三个jar包.7z"包含了三个核心的JAR文件:mail.jar、activation.jar和additionnal.jar,它们对于JavaMail的邮件发送功能至关重要。 1. **mail.jar**: 这是JavaMail的主要库,包含...
Fundamentals of the JavaMail API Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Table of Contents If you're viewing this document online, you can click ...
在这个"完整代码,基于jsp 邮件开发 javamail.7z"的压缩包中,很可能包含了用于演示如何使用JSP和JavaMail API发送邮件的实例代码。 首先,我们需要理解JSP的基础。JSP是一种动态网页技术,它将Java代码嵌入到HTML...
对于开发Java应用在z/OS上创建PDF文件或发送邮件,存在许多现成的Java类库可以利用,例如iText用于PDF生成,JavaMail用于邮件处理。 在z/OS上开发Java应用不仅需要熟悉Java语言和开发环境,还需要对z/OS系统的运行...
标题中的 "javax.mail-1.6.0.jar.7z" 指的是JavaMail 1.6.0版本的jar包,已经压缩成7z格式,用于方便开发者下载和使用。描述中提到的“下载后解压到当前文件夹即可”,意味着开发者可以将这个压缩包解压,并将其包含...
在“JavaMailTest111.7z”这个压缩包中,我们可以推测它包含了一个新手教程或者示例项目,用于演示如何使用JavaMail API来实现QQ邮箱和163邮箱的邮件发送与接收,以及附件的下载功能。 在JavaMail的使用过程中,...
在Android开发中,有时我们需要实现后台发送邮件的功能,这通常涉及到使用JavaMail API或相关的库来处理SMTP(Simple Mail Transfer Protocol)通信。标题中的"SendEmail.7z"可能是一个包含此类功能的压缩包,它提供...
在本压缩包“ibm-lotus9.0.7z”中,包含的两个Java JAR文件是用于整合Lotus Domino与Java应用程序,以便实现通过编程方式发送邮件的功能。这种集成对于自动化邮件发送、系统通知或者企业内部通信非常有用。 首先,...
"Java邮箱地址验证 jaev.7z"可能是一个包含源代码、示例或者库的压缩包,用于帮助开发者实现这一功能。下面将详细介绍Java中验证电子邮箱地址的相关知识点。 1. **正则表达式验证**: 在Java中,最常用的方法是...
4. JavaMail API:JavaMail是Java中处理邮件的核心API,它为开发者提供了与各种邮件服务器通信的接口和类。JavaMail包括`Session`(设置邮件服务器的配置信息)、`Message`(表示邮件对象)、`Address`(表示邮件...
**J2EE 1.4 知识点详解** ...通过解压`j2ee14.7z`文件,你可以获取到详细的J2EE 1.4帮助文档,这些文档将深入讲解上述所有知识点,帮助开发者更好地理解和使用J2EE 1.4平台进行企业级应用的开发。
JavaMail 是一个开源的Java库,它为Java程序员提供了处理电子邮件的能力。这个库不仅支持SMTP、POP3和IMAP协议,还支持最新的Email标准如MIME和HTML邮件。`JavaMai.ljar` 文件很可能是一个包含JavaMail库的归档文件...
import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class EmailService { @Autowired private JavaMailSender mailSender; public ...
《Java经典开发大全》是一本全面涵盖Java编程技术的资源集合,.7z是一个压缩文件格式,用于存储多个文件和目录。在这个压缩包中,我们能找到一个名为"Java经典开发大全.doc"的文档,很可能是一个关于Java编程的详细...
一个基本的Java邮箱验证正则表达式可能是`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`。这个表达式可以匹配大部分常见格式的邮箱地址,但无法覆盖所有特殊情况。例如,它可能无法处理包含国际字符的邮箱。 ...
这个压缩包“quartz定时发送邮件相关jar包&代码.7z”显然是一个包含Quartz库以及示例代码的资源集合,帮助开发者实现定时发送邮件的任务。 首先,让我们详细了解Quartz的核心概念: 1. **Job**:在Quartz中,Job...
9. **Java库和API**:如Java Swing和JavaFX用于图形用户界面(GUI)开发,JDBC用于数据库连接,JavaMail用于邮件发送等。 10. **Java 8及更高版本的新特性**:例如lambda表达式、流API、方法引用、日期和时间API等...
JavaMail则是Java中用于处理电子邮件的API库,它提供了发送、接收邮件的功能。 在Java中,脚本应用数据主要涉及以下几个方面: 1. **Java Scripting API (JSR 223)**:这是Java标准版中的一个部分,定义了如何在...