`
DAOException
  • 浏览: 122479 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

commons-email发送邮件

    博客分类:
  • java
阅读更多

      好久没有更新自己的博客了,我胡汉三又回来啦。今天说一说使用commons-email来实现简单的发送邮件程序。这里可以发 送纯文本的,也可以发送带附件的,还可以发送HTML格式的邮件。废话少说,开始我们的邮件之旅。

      好吧,想发送邮件,我们第一步要干嘛呢?你说呢?我说啊,第一步当然要找到commons-email相关的类库了啊。这里具体要用到三个类库。mail.jar   commons-email-1.0.jar   activation.jar。这三个库在哪里下载呢?告诉你一个好的网址啊www.google.cn。绝对可以找到你想要的。^_^

       具体我也不细说,这里操作和引用其他第三方类库差不多。下面我贴三段代码,我想大家一看就会明白了。

 

public String send(){
		String result = null;
		SimpleEmail email = new SimpleEmail();
		//设置主机名称
		email.setHostName(rc.read("send"));
		//设置用户名,密码
		email.setAuthentication(rc.read("username"), rc.read("password"));
		//设置字符编码方式
		email.setCharset("GB2312");
		try {
			//设置发送源地址
			email.setFrom(from);
			//设置目标地址
			email.addTo(to);
			//设置主题
			email.setSubject(subject);
			//设置邮件内容
			email.setMsg(msg);
			//发送邮件
			email.send();
			result = "successful";
		} catch (Exception e) {
			e.printStackTrace();
			result = "not successful";
		}
		
		return result;
	}

 

 上面这段代码是发送纯文本文件的邮件。rc.read方法是自己自定义的从资源文件当中读取的相关邮件参数。

该项目还支持带附件的邮件发送。如下代码所示:

 

public String sendEnclosure() throws EmailException{
		String result = null;
		EmailAttachment emailattachment = new EmailAttachment();
           //设置附件路径
	       emailattachment.setPath(file);
	       //System.out.println(path);
	       emailattachment.setDisposition(EmailAttachment.ATTACHMENT);
	       //附件描述
	       emailattachment.setDescription("This is Smile picture");
	       /* 
            * 设置附件的中文乱码问题,解决附件的中文名称 乱码问题 
            */  
           BASE64Encoder enc = new BASE64Encoder();  
           //this.getName().getBytes()使用的是系统缺省的编码处理,这里是GBK  
           emailattachment.setName("=?GBK?B?"+enc.encode(file.getBytes())+"?=");  
             
           //attachment.setName(this.getName()); //不处理字符集的话,发送的附件中文名称是乱码 
	       
	       
	       //创建一个email
	       MultiPartEmail multipartemail = new MultiPartEmail();
	       //设置主机名称
	       multipartemail.setHostName(UserInfo.sendHost);
	       //设置字符编码
	       multipartemail.setCharset("GB2312");
	       //设置发送邮件目的地址
	       multipartemail.addTo(to);
	       //设置发送又见源地址
	       multipartemail.setFrom(from);
	       //设置用户名和密码
	       multipartemail.setAuthentication(UserInfo.username, UserInfo.password);
	       //设置主题
	       multipartemail.setSubject(subject);
	       //设置邮件内容
	       multipartemail.setMsg(msg);
	       //添加附件
	       multipartemail.attach(emailattachment);
	       //发送邮件
	       multipartemail.send();

	       result = "The attachmentEmail send sucessful!!!";

	       return result;
	}

 

 同样的,发用的邮件格式依然支持HTML格式,如下代码所示:

 

public String sendHtml() throws EmailException, MalformedURLException{
		// 创建邮件信息
		String result = null;
		HtmlEmail email = new HtmlEmail();
		email.setHostName(UserInfo.sendHost);
		email.addTo(to);
		email.setFrom(from);
		email.setSubject(subject);
		// embed the image and get the content id
		URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
		String cid = email.embed(url, "Apache logo");
		// set the html message
		email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");
		// set the alternative message
		email.setTextMsg("Your email client does not support HTML messages");
		// send the email
		email.send();
		
		return result;
	}

 好吧,三段代码都差上去了,其实发送起来很简单,大家一定都能看懂,你说对吧。看不懂的,告诉你啊,去google。hoho。

分享到:
评论
2 楼 alenstudent 2013-05-17  
最近在做一个发内嵌图片的程序,看了你这篇文章后,知道怎么做了,非常感谢
1 楼 kevinwong 2010-06-22  
emailattachment.setName("=?GBK?B?"+enc.encode(file.getBytes())+"?=");

请教里面的"=?GBK?B?"  +"?="是依据什么规则拼起来的?谢谢

相关推荐

    使用Apache-commons-email发送邮件

    这个库封装了复杂的SMTP协议,让我们可以通过几行代码轻松发送邮件。 Apache Commons Email库是Apache软件基金会的Apache Commons项目的一部分,它提供了多种邮件服务的功能,如添加附件、设置HTML内容、发送多部分...

    使用commons-email发送邮件

    NULL 博文链接:https://shuaigg-babysky.iteye.com/blog/355128

    commons-email-1.5.jar

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

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

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

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

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

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

    `mail.jar`包含核心的JavaMail组件,如`javax.mail`包,该包定义了用于邮件操作的基本接口和类,如`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(用于发送邮件)等。 2. **Apache Commons Email**...

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

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

    activation.jar commons-email-1.2.jar mail.jar免费下载

    标题中的"activation.jar commons-email-1.2.jar mail.jar免费下载"涉及到的是Java邮件处理相关的库文件,这些在Java开发中用于实现电子邮件的发送和处理。让我们逐一解析这三个jar文件: 1. **activation.jar**:...

    commons-email-1.1.jar,mail-1.4.jar,activation-1.1.jar

    activation-1.1 commons-email activation java发送邮件jar 教程: http://blog.csdn.net/sir_jun/article/details/9106397

    commons-email-1.1.jar

    JavaMail API定义了一系列接口和类,用于处理邮件协议(如SMTP、POP3和IMAP),创建和发送邮件,以及管理邮件存储。`mail.jar`包含了处理邮件服务所需的基本组件,如`Session`(邮件会话)、`Message`(邮件对象)和...

    commons-email需要的几个包

    当你在项目中使用Maven或Gradle等构建工具时,通常会将这个jar添加到项目的类路径中,以便在代码中调用Email相关的API来创建和发送邮件。 2. **commons-email-1.1-src.zip**:这个包包含的是源代码,对于开发者来说...

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

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

    最新commons-email-1.2.jar

    commons-email封装了邮件发送权限处理,AuthenticationFailedException错误可以解决了

    commons-email jar

    `mail.jar`包含了这些接口和类的实现,是发送邮件不可或缺的部分。 - `activation.jar`: 这是JavaBeans Activation Framework (JAF)的实现,它提供了识别和操作MIME类型数据的能力。在处理邮件时,这有助于解析和...

    commons-email-1.4.jar

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

    activation/commons-email/mail.jar

    在Java编程环境中,发送电子...Apache Commons Email库的便捷性结合JavaMail API的强大功能,使得在Java应用程序中发送邮件变得简单高效。在实际项目中,只需合理配置和调用这些库,就能实现可靠且灵活的邮件服务功能。

    commons-email-1.5-src.zip

    5. **异常处理**:提供了一套完善的异常处理机制,如`EmailException`,便于开发者捕获并处理发送邮件过程中可能遇到的问题。 6. **模板支持**:可以结合FreeMarker或Velocity等模板引擎,生成动态内容的邮件。 7....

Global site tag (gtag.js) - Google Analytics