`
jiangnan2112
  • 浏览: 122687 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

apache commons-email 发邮件功能

阅读更多
浅试一下apache commons-email.jar 发邮件的功能,代码暂时记录在此,代码还没有整理过,只是弄了几个方法测试了一下。包和文档可以在此找到
http://commons.apache.org/email/
图如下:[img]


[/img]

package com.mail.test;

import java.net.MalformedURLException;
import java.net.URL;

import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;

public class TestSendMail {
	
	//发送文本邮件
	public static void sendTextMail(){
		Email email = new SimpleEmail();
		email.setHostName("smtp.qq.com");
       // email.setHostName("smtp.163.com");
		email.setSmtpPort(25);
		email.setAuthenticator(new DefaultAuthenticator("123456@qq.com", "*******"));
		email.setTLS(true);
		try {
			email.setFrom("123456@qq.com");
			email.setMsg("This is a test mail__common_email");
			email.addTo("bill@126.com");
			email.setSubject("TestMail文本邮件");
			email.send();				
		} catch (EmailException e) {
			e.printStackTrace();
		}
	}
	
	//发送带附件的邮件
	public static void sendAttachmentMail(){
		 // Create the attachment
		  EmailAttachment attachment = new EmailAttachment();
		  attachment.setPath("D://lib/activation.jar");
		  //也可以以网络的方式
//        attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));
		  attachment.setDisposition(EmailAttachment.ATTACHMENT);
		  attachment.setDescription("发给你的jar包");
		  attachment.setName("jar包");

		  // Create the email message
		  MultiPartEmail email = new MultiPartEmail();
		  email.setHostName("smtp.qq.com");
		  email.setSmtpPort(25);
		  email.setAuthenticator(new DefaultAuthenticator("123456@qq.com", "******"));
		  email.setTLS(true);		  
		  try {
			    //发件人地址     发件人昵称
				email.setFrom("123456@qq.com","发件人昵称");   //也可以不要第二个参数
				email.addTo("bill@126.com","收件人昵称");			  
			    email.setSubject("The jar");                   //标题
			    email.setMsg("Here is the jar you wanted");    //邮件内容
 			    // add the attachment
			    email.attach(attachment);                      //附件
			    email.send();
		} catch (EmailException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//发送HTML的邮件
	public static void sendHtmlEmail(){
		  // Create the email message
		  HtmlEmail email = new HtmlEmail();
		  
		  email.setHostName("smtp.qq.com");
		  email.setSmtpPort(25);
		  email.setAuthenticator(new DefaultAuthenticator("123456@qq.com", "*******"));
		  email.setTLS(true);	
		  
		  try {
			email.addTo("bill@126.com", "收件人昵称");
			// 发件人地址 发件人昵称
			email.setFrom("123456@qq.com", "发件人昵称"); // 也可以不要第二个参数
		    email.setSubject("The jar");                   //标题
			email.setMsg("This is a test mail__common_email");
			// 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, "appach logo");
			// set the html message
			email.setHtmlMsg("<html><a href='http://www.baidu.com'>baidu.com</a> <img src=\"cid:" + cid
					+ "\"></html>");

			// set the alternative message
			email.setTextMsg("Your email client does not support HTML messages");

			  // send the email
			  email.send();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (EmailException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public  static void main(String[] args) {
		sendTextMail();
		//sendAttachmentMail();
		//sendHtmlEmail();
	}

	
}



有两个小问题还没整就要睡觉了:1,我用163作发送,总是验证不通过,还没抽空找原因,用QQ就可以发送,但我不用appach的邮件的功能,用其他就可以发过去,当然不会是用户名密码等没有输对,也不是什么服务没开的问题。
2,发送内容的编码还没整。如果发送带附件的邮件,下载时附件没有默认的后辍名,保存时要手功改保存类型。不知道怎么整。
如果有大侠路过指点一下。
  • 大小: 15.2 KB
分享到:
评论
2 楼 youyoufufu 2013-10-29  
扩展名:

emailattachment.setName("my picture.jpg");

带扩展名即可。
1 楼 damoo 2011-04-11  
1、有些邮箱需要在你的邮箱着那个设置开启smtp、pop3服务才能使用,比方说我用的sina邮箱
2、乱码问题可以用mail.setCharacter("utf-8")解决
3、下载附件的扩展名问题我还没去整

相关推荐

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

    在Java编程中,发送电子邮件是一项常见的任务,Apache Commons Email库为开发者提供了便利的API来实现这一功能。本篇文章将详细讲解如何使用`commons-email-1.2.jar`这个开源库来实现邮件发送,并通过`...

    commons-email-1.5.jar

    总的来说,Apache Commons Email库为Android应用提供了方便且强大的邮件发送功能。通过简单的API调用,开发者可以轻松实现邮件的创建、配置和发送。注意,实际使用时,还需要考虑错误处理和异常情况,以确保邮件发送...

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

    JavaMail和Apache Commons Email是Java平台上用于发送电子邮件的两个重要库。这两个库为开发者提供了方便的API,使得在Java应用程序中实现邮件发送功能变得简单易行。以下将详细阐述这两个库以及它们所需的jar包。 ...

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

    在Java编程环境中,发送电子邮件是一项常见的任务,而`commons-email-1.4.jar`是Apache Commons Email库的一个版本,这个库专门设计用于简化Java中的邮件发送。Apache Commons Email是Apache软件基金会开发的一个...

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

    "mail.jar、commons-email-1.2.jar、activation.jar下载"这个标题暗示了我们正在处理用于处理电子邮件功能的Java库。这些库对于使用Java编程语言构建邮件发送功能至关重要。 1. **JavaMail API**(mail.jar): ...

    使用Apache-commons-email发送邮件

    总结一下,Apache Commons Email库为Java开发者提供了方便的邮件发送功能,简化了与SMTP服务器的交互。通过`SendMail.java`文件,我们可以学习到如何使用这个库来创建、配置和发送电子邮件,从而在项目中实现更高效...

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

    在Java编程中,发送电子邮件是一项常见的任务,Apache Commons Email库为开发者提供了便利的API来实现这一功能。`commons-email-1.1.jar`是Apache Commons Email项目的一个版本,它简化了构建和发送电子邮件的过程。...

    commons-email发送邮件

    Apache Commons Email 是一个Java库,专门用于简化电子邮件的发送。这个库是Apache Commons项目的一部分,提供了许多方便的API,使得开发者能够轻松地构建并发送包含文本、HTML内容以及附件的邮件。下面我们将深入...

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

    通过结合Apache Commons Email和JavaMail,开发者可以轻松地在他们的应用中实现邮件功能,而JMeter、Ant和Jenkins则有助于提升开发效率和质量。不过,实际使用时,还需要确保遵循正确的导入和配置步骤,以及对相关...

    commons-email需要的几个包

    Apache Commons Email支持多种邮件功能,包括: - **简单邮件**:发送纯文本邮件。 - **HTML邮件**:发送包含HTML内容的邮件,可以包含样式和图像。 - **多部分邮件**:结合文本和HTML,以及附件的邮件。 - **带...

    commons-email-1.4.jar

    总的来说,Apache Commons Email 1.4是Java开发者处理电子邮件任务的理想选择,它简化了电子邮件的创建和发送流程,同时也提供了丰富的功能以满足各种复杂需求。通过合理利用这个库,开发者可以更专注于应用的核心...

    commons-email-1.1.jar

    `commons-email-1.1.jar`是Apache Commons Email项目的一个版本,它提供了一个简单易用的接口来构建和发送电子邮件。下面将详细介绍这些关键库以及它们在邮件发送中的作用。 首先,`commons-email-1.1.jar`是Apache...

    commons-email jar

    总的来说,Apache Commons Email结合JavaMail API和JAF,为Java开发者提供了一个强大且易用的工具,用于构建和发送电子邮件,是Web应用开发中处理邮件功能的标准选择。它的灵活性和丰富的功能使其在实际项目中具有很...

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

    10. **模板支持**:虽然Apache Commons Email本身并不直接提供模板功能,但可以结合FreeMarker或Velocity等模板引擎来创建动态邮件内容。 在使用Apache Commons Email时,开发者通常需要以下几个步骤: 1. 添加库...

    commons-email-1.5-src.zip

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

    commons-email-1.1.rar源文件及jar文件

    Apache Commons Email可以与其他Java邮件API(如JavaMail API)很好地协同工作,提供更高级的功能,如数字签名和加密。 通过这个压缩包,开发者不仅可以使用Apache Commons Email库进行电子邮件的开发,还能学习和...

    activation/commons-email/mail.jar

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

    java邮件功能三大jar包commons-email-1.3.3,activation,mail.zip

    在Java编程中,发送电子邮件是一项常见的任务,而`commons-email-1.3.3.jar`、`activation.jar`和`mail.jar`这三个JAR包则是实现这一功能的关键组件。它们分别提供了不同的服务,使得开发者能够方便地构建和发送邮件...

    apache开源项目源码commons-email-1.2-src(全部高质量开发邮件的java源程序)

    apache开源项目源码commons-email-1.2-src 全部高质量开发邮件的java源程序 各种操作邮件的工具类源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者...

Global site tag (gtag.js) - Google Analytics