`

使用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
分享到:
评论

相关推荐

    commons-email发送邮件

    用 apache commons email 发送带附件,HTML 格式的 邮件 格式例子 还包括commons-email的jar包,及其他相关资料

    利用Apache Commons Email发送邮件

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

    commons-email:Apache Commons电子邮件

    Apache Commons电子邮件 Apache Commons Email旨在提供用于发送电子邮件的API。 它建立在旨在简化的JavaMail API之上。文献资料可以在上找到更多信息。 可以浏览 。 与Apache Commons Email使用有关的问题应张贴到。...

    Java-ApacheMail发送邮件

    JavaMail发送邮件还是有些复杂,所以Apache CommonsEmail进行了再次封装,大大简化了邮件发送过程。 网站中经常用到的功能就是简单的发送一些邮件,比如发送 找回密码信息、报警信息,所以使用Apache Commons ...

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

    NULL 博文链接:https://liuzidong.iteye.com/blog/1116785

    commons-email-1.3.2-bin.zip

    Apache commons-email组件发送邮件所需使用的jar文件

    java超简单发送email

    import org.apache.commons.mail.SimpleEmail; public class email { public static void main(String[] args){ try{ SimpleEmail email = new SimpleEmail(); //smtp host email.setHostName("smtp....

    javax.mail.jar-Java发送邮件API

    javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/

    jsp邮件发送

    commons-email是apache提供的一个开源的API,是对javamail的封装,因此在使用时要将javamail.jar加到 class path中,主要包括SimpleEmail,MultiPartEmail,HtmlEmail,EmailAttachment四个类。 HtmlEmail:HTML格式邮件...

    创建一个Java电子邮件客户端

    Apache Commons Email库:用于更方便地发送邮件。 设计思路 我们将使用JavaMail和Apache Commons Email库来创建一个简单的电子邮件客户端。主要功能包括: 配置电子邮件服务器和账户信息。 发送电子邮件。 接收...

    性能自动发邮件jar包.rar

    1、在 jmeter 的 .\JMeter\apache-jmeter-3.2\...2、commons-email.jar包,然后放在 ant 的 \lib 目录下 3、activation-1.1.1.jar包,然后放在 ant 的 \lib 目录下 4、javax.mail.jar包,然后放在 ant 的 \lib 目录下

    Java编写的邮件发送源文件

    使用Apache的SimpleEmail、HtmlEmail文件,实现了发送简单邮件,Html邮件和发送附件的功能

    注册 后邮箱验证代码 jar包

    package org.tarena.dang.util; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail; public class EmailUtil { ... System.out.println("邮件发送失败"); } } }

    Java Email 在Tomcat所依赖的Jar包(全部)

    经过一个上午的折腾,终于能够发送邮件了.主要是jar包的处理.下面是附件的使用说明.欢迎大家交流. 将文件夹中5个jar包放入lib下即可. 在实际开发中,需要避免不同版本的jar包冲突. 下面是我的开发经验(针对当前具体...

    Java邮件开发工具类--EmailUtil(java源码)

    import org.apache.commons.logging.LogFactory; import com.hexiang.exception.CatalogException; /** * Utility class to send email. * * @author <a href="380595305@qq.com">hexiang */ public class ...

    CommonsEmailTest.java

    Java send mail, Java实现发送邮件,使用说明: maven配置文件pom.xml引入 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4</version> </dependency>

    V512工作室Java web的ppt

    第16章 讲解使用Apache Commons FileUpload实现文件上传,同时讲解了JavaMail和如何运用Apache Commons Email组件发送邮件。 第17章 讲解DAO设计模式和分页显示,同时还讲解了Displaytag与Pager标记库。 第18章讲解...

Global site tag (gtag.js) - Google Analytics