`

使用Apache-commons-email发送邮件

    博客分类:
  • java
阅读更多

引用
使用Apache-commons-email发送邮件

本文总结如何使用Apache-commons-email提供的接口发送邮件,以及如何处理中文乱码问题。author: ZJ 07-6-1Blog:http://zhangjunhd.blog.51cto.com/ 1.前言

使用Apache-commons-email发送邮件需要这三个jar包:commons-email-1.0.jar、mail.jar、activition.jar。第一个包下载地址http://jakarta.apache.org/site/downloads/downloads_commons-email.cgi后两个包在Sun上下载jaf-1_1-fr.zip和javamail-1_4.zip。其中有所需要的jar包。 2.发送简单邮件下面这段代码是发送一个简单邮件的流程代码,你可以将其封装成一个方法,供调用。
SimpleEmail email = new SimpleEmail();email.setHostName("mail.myserver.com");//指定SMTP serveremail.addTo("", "John Doe");//指定接收方地址与名字email.setFrom("", "Me");//指定发送方地址与名字email.setSubject("Test message");//指定邮件标题email.setMsg("This is a simple test of commons-email");//指定邮件内容email.send();//发送注意,文件内容为中文,会出现乱码,解决方法如下:将email.setMsg("This is a simple test of commons-email");替换为email.setContent("This is a simple test of commons-email", "text/plain;charset=GBK"); 3.发送带附件的邮件下面这段代码是发送一个带附件邮件的流程代码,你可以将其封装成一个方法,供调用。// Create the attachment  EmailAttachment attachment = new EmailAttachment();  attachment.setPath("mypictures/john.jpg");//指定附件在本地的路径  attachment.setDisposition(EmailAttachment.ATTACHMENT);  attachment.setDescription("Picture of John");//附件描述  attachment.setName("John");//附件名称   // Create the email message  MultiPartEmail email = new MultiPartEmail();  email.setHostName("mail.myserver.com");  email.addTo("", "John Doe");  email.setFrom("", "Me");  email.setSubject("The picture");  email.setMsg("Here is the picture you wanted");   // add the attachment  email.attach(attachment);   // send the email  email.send(); 同样,你可以指定一个在网络上的附件,只要给出该附件的地址,将上文绿色代码部分替换为下面这句。attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));注意,如果你的附件的名称是中文时,同样会出现乱码,解决的方法如下。attachment.setDisposition(EmailAttachment.ATTACHMENT);attachment.setDescription("Picture of John");//附件描述attachment.setName("需传送的附件");//附件名称attachment.setName(MimeUtility.encodeText("需传送的附件.txt")); 4.示例代码附件中给出了一个SendMail.java,将上述方法封装成一个class。其中,构造子初始化所有最基本的变量,即发送简单邮件时所使用的变量,看变量名称即可“望文生义”。public SendMail(String hostSMTP, String toMailAddress, String toMailUser,                     String fromMailAddress, String fromMailUser, String mailSubject,                     String mailMessage) {

方法send()可发送一个简单邮件。方法sendAttchment (String path,String des,String name)可发送一个带附件的邮件。其中,path指定附件在本地的物理路径,des指定附件的描述,name指定附件名。方法sendAttachmentWithUrl (URL url,String des,String name)可发送一个指定附件URL的邮件。其中,url指定附件的URL,其余参数和sendAttachment相同含义。发送附件的这两个方法没有考虑处理中文文件名的问题,大家可自己添加。

5.参考资料[1]Apache-commons-emai guide, http://jakarta.apache.org/commons/email/userguide.html[2] javamail 一些资源,http://www.360doc.com/showWeb/0/0/18285.aspx

本文出自 “子 孑” 博客,请务必保留此出处http://zhangjunhd.blog.51cto.com/113473/28782
本文出自 51CTO.COM技术博客
附件下载:
  SendMail.zip
分享到:
评论

相关推荐

    新版邮件编程---Apache Commons Email

    5. 发送邮件:调用`Email`对象的`send()`方法来发送邮件。 通过以上步骤,开发者可以轻松地构建并发送复杂的电子邮件,而无需深入理解底层的邮件协议。Apache Commons Email库为Java开发者提供了一个高效、易用的...

    邮件发送--commons-email-1.4.jar

    在描述中提到的"实现过程文章的连接"可能指向一篇教程或指南,该指南详细解释了如何使用Apache Commons Email库来发送邮件,包括设置服务器参数、添加附件、处理异常等。这样的资源对初学者非常有帮助,能够让他们...

    使用apche-commons-email例子

    email.setMsg("这是一个使用Apache Commons Email发送的示例邮件。"); // 设置SMTP服务器信息 email.setSmtpPort(587); // 大多数SMTP服务器使用此端口 email.setSSLCheckServerIdentity(true); email....

    commons-email-1.5.jar

    《Android应用中使用Apache Commons Email库发送邮件》 在Android应用程序开发中,有时我们需要集成邮件发送功能,以便向用户发送验证码、通知或者提供其他服务。Apache Commons Email库是一个强大的Java库,它简化...

    commons-email发送邮件

    下面我们将深入探讨如何使用Commons Email发送邮件,以及其核心功能。 首先,要使用Commons Email,你需要在你的项目中引入对应的jar包。在提供的压缩包中,应该包含了`commons-email-x.x.jar`,这是Apache Commons...

    用commons-email-1.2.jar实现发邮件功能

    `commons-email-1.2.jar`是该库的一个版本,包含了所有必需的类和方法,以便于创建和发送邮件。这个库支持HTML邮件、附件、多部分消息以及更复杂的邮件配置。 首先,要使用Apache Commons Email,你需要在项目中...

    Java发送邮件 --- Apache Commns email

    Java发送邮件是一个常见的任务,Apache Commons Email库是Java开发者常用的一个工具,它为发送电子邮件提供了简单易用的API。这个库极大地简化了邮件构建和发送的过程,尤其在处理复杂邮件内容,如添加附件、HTML...

    Java通过Apache提供的Commons Email工具类实现邮箱发送验证码

    本篇将深入讲解如何使用Apache Commons Email工具类来发送带有验证码的电子邮件。 首先,Apache Commons Email是Apache软件基金会的一个项目,它提供了一组丰富的API,简化了Java中发送电子邮件的过程。这个库包含...

    Commons: 封装Apache Commons Email简化邮件发送

    对于批量发送邮件的需求,`Email`类的`addBcc()`和`addCc()`方法可以帮助你一次性添加多个收件人。 在实际开发中,你可能会遇到一些特殊需求,比如发送带验证链接的注册邮件。Apache Commons Email可以很好地与模板...

    利用Apache Commons Email发送邮件

    这份资料是+++利用Apache Commons Email发送邮件+++的内容,希望能给有志成为IT人才一点帮助!你的进步就是对我最大的回报! Thank you!

    android 下用org.apache.commons.mail.HtmlEmail发送邮件所需的jar包

    在Android平台上,发送HTML格式的电子邮件可以通过使用第三方库来实现,比如Apache Commons Email库中的`org.apache.commons.mail.HtmlEmail`类。这个类提供了一个方便的方式来构造和发送包含HTML内容的邮件。下面...

    Java Mail和Commons-email发简单的邮件所用到的jar包

    集成这些jar包后,开发者可以按照以下步骤使用JavaMail和Commons Email发送邮件: 1. 添加依赖:将上述jar包放入项目的类路径或构建工具的依赖管理中。 2. 创建Session:配置邮件服务器的相关参数,如主机名、端口...

    Apache Commons Mail 封装发送邮件类

    - 发送邮件可能会遇到网络问题、权限问题或服务器验证失败等问题,因此在实际使用时,需要做好异常处理。 - 对于HTML邮件,确保HTML内容符合标准,避免因编码问题导致显示异常。 - 考虑使用线程安全的邮件客户端,...

    用commons-email-1.1.jar实现发邮件功能:

    Apache Commons Email提供了一个名为`Email`的类,它是发送邮件的主要接口。以下是一个简单的示例,展示了如何使用`Email`类创建并发送一封文本邮件: ```java import org.apache.commons.mail....

    mail.jar、commons-email-1.2.jar 、activation.jar下载

    在测试完成后,使用Ant脚本可以将JMeter生成的测试结果报告打包,并通过JavaMail和Apache Commons Email库发送到指定的收件人,这样团队成员就能及时了解测试状况。 5. **其他文件**: - `mail-1.5.0-b01.jar`:这...

    commons-email-1.4.jar

    考虑到现代邮件系统的安全需求,Apache Commons Email 支持通过SSL(Secure Socket Layer)和TLS(Transport Layer Security)进行安全的SMTP连接,这使得在不安全的网络环境下也能安全地发送邮件。 4. **多邮件...

    commons-email-1.5-src.zip

    Apache Commons Email库是Java开发人员用来简化电子邮件发送过程的一个强大工具。这个库是Apache Commons项目的一部分,它专注于提供一个简单且灵活的API,用于构建和发送复杂的电子邮件。"commons-email-1.5-src....

    commons email 发送html邮件完整优化实例

    3. **多线程发送**:如果需要批量发送邮件,可以使用多线程来并发处理,提高效率。但需要注意,邮件服务器通常会对同一时间的连接数有限制,避免过于频繁的并发请求。 4. **邮件队列**:对于大量邮件,可以先将邮件...

    java邮件发送例子 apache email demo

    Apache Commons Email提供了`Email`类,它是发送邮件的核心。以下是一个基本的邮件发送示例: ```java import org.apache.commons.mail.*; public class EmailDemo { public static void main(String[] args) { ...

Global site tag (gtag.js) - Google Analytics