`
魔力猫咪
  • 浏览: 107278 次
  • 来自: 北京
社区版块
存档分类
最新评论

使用Common Email轻松发送邮件

阅读更多
  喵。猫咪最近一直比较无聊,所以终于打算多更新一下Blog以免自己成为一只懒死的猫。
  我们在Java开发中,对于发送邮件,Sun给出了JavaMail框架。但是这个框架调用比较复杂,所以出了很多封装来简化使用。比如Spring就对JavaMail进行了封装。今天猫咪介绍的是Apache的Common组件中的Email组件,封装得很不错。
  首先从Sun的网站上下载JavaMail框架实现,最新的版本是1.4.1。然后是JavaBeans Activation Framework,最新版本1.1.1,JavaMail需要这个框架。不过如果JDK是1.6的话就不用下了。1.6已经包括了JavaBeans Activation Framework。
  最后从http://commons.apache.org/email/下载最新的Common Email,版本1.1。
首先在Eclipse中建立一个新的Java工程,然后把JavaMail和Common Email解压缩,在工程中添加解压缩出来的所有Jar的引用。
  好了,我们来发一封最简单的邮件吧。
package org.Miao.Mail;

import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.SimpleEmail;

public class Mail {
         public static void main(String[] args) throws EmailException {
              SimpleEmail email = new SimpleEmail();
              email.setHostName("smtp.sina.com");//邮件服务器
              email.setAuthentication("*****@sina.com", "******");//smtp认证的用户名和密码
              email.addTo("xxxxxx@sohu.com","兔子");//收信者
              email.setFrom("xxxxxx@sina.com", "猫咪");//发信者
              email.setSubject("猫咪的测试邮件");//标题
              email.setCharset("UTF-8");//编码格式
              email.setMsg("这是一封猫咪的测试邮件");//内容
              email.send();//发送
         }

}

  现在去你的目标邮箱,就可以看到信已经在那里了。注意,如果没有指定编码格式的话(setCharset("UTF-8")),那么正文就会变成乱码(都是?????)。当然你也可以指定其他编码格式,比如“GBK”。
  如果你的JavaMail的Session是从JNDI中获取或其他方式获得的,Common Email可以通过setMailSession()和setMailSessionFromJNDI()方法进行设置。
  Common Email除了可以发送普通邮件,也可以发送HTML格式的邮件和带附件的邮件。例子在项目主页上有,大家可以参考。

文章引用自:

 

分享到:
评论
14 楼 wangxin0ldrs 2012-09-03  
怎么样发送到付件的邮件啊,还望指导,我一下
13 楼 wangxin0ldrs 2012-09-03  
Common Email除了可以发送普通邮件,也可以发送HTML格式的邮件和带附件的邮件。例子在项目主页上有,大家可以参考。

你的项目主页在哪儿啊?赶快告诉我
12 楼 wpf523 2012-05-16  
不错,我有空也要试一下
11 楼 Joo 2009-01-04  
呵呵 其实俺觉得直接用java mail API来写也不会复杂很多
10 楼 heavener 2008-12-29  
javamail发送邮件很简单,但是接受邮件麻烦,乱码问题很严重,网上的那些代码没有一个能好用的,关键还是要靠自己去分析。我现在就在做这方面,编码问题真让人头疼
9 楼 BarryWei 2008-11-28  
用起来简单,可好像我听说现在大部分的主流邮件服务器都将使用common mail发送到邮件当作垃圾邮件,不知道是不是真的哦。
我写的邮件还发送不出去 ,总是抛出验证异常。不知道是不是跟我的邮件服务器设置有关。
8 楼 crazy.j 2008-07-21  
楼主的包名看起来非常酷~
7 楼 cxj_2000 2008-07-19  
shwwwx 写道
   看起来是简单多了,不过还是使用的javamail的组件,邮件这一块最难的就是收邮件了,不知道它封装后对邮件的编码识别怎么样。


对邮件本身处理很麻烦的。
6 楼 y263542662 2008-07-18  
很不错 应该加精!



5 楼 梦幻酷酷 2008-07-17  
有没有收邮件到的啊?
4 楼 Michael.zhl 2008-01-21  
果然很简单......
3 楼 魔力猫咪 2008-01-18  
shwwwx 写道
   看起来是简单多了,不过还是使用的javamail的组件,邮件这一块最难的就是收邮件了,不知道它封装后对邮件的编码识别怎么样。

其实这个组件是不能接收邮件的。呵呵。因为一般情况下,Web服务器只负责发送邮件。所以这个组件没有对接收邮件做封装。对邮件的编码控制得很好。只要你设定了编码标准,就不会有乱码。
2 楼 shwwwx 2008-01-18  
   看起来是简单多了,不过还是使用的javamail的组件,邮件这一块最难的就是收邮件了,不知道它封装后对邮件的编码识别怎么样。
1 楼 xqstation 2008-01-18  
COOOL.看起来很简单.

相关推荐

    通过 Apache 的 Jarkata Common Email 来发送email

    在这个项目中,我们将深入探讨如何使用Common Email库来发送电子邮件,以及它的一些核心特性。 首先,让我们了解Common Email的基本使用。在Java程序中,你需要添加`commons-email-1.1.jar`到类路径中,这是Apache ...

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

    Apache Commons Email 是一个Java库,专门用于简化电子邮件的发送。这个库提供了丰富的API,使得开发者可以轻松地构建和发送各种类型的邮件,包括HTML格式的邮件。在这个“commons email 发送html邮件完整优化实例”...

    common email 附件发送

    电子邮件是日常工作中常见的...总结来说,Java中的电子邮件发送涉及到多个库和API的协同工作,通过理解并熟练运用`activation.jar`、`commons-email-1.2.jar`和`mail.jar`,可以轻松地实现常见的电子邮件附件发送功能。

    Jarkata Common Email

    Jakarta Common Email 支持 SMTP(Simple Mail Transfer Protocol)、POP3(Post Office Protocol version 3)和 IMAP(Internet Message Access Protocol),这使得开发者能够轻松地发送和接收电子邮件。...

    VB发送邮件代码

    在VB中,发送邮件主要依赖于CDO.Message对象,它属于Microsoft的CDO(Common Data Objects for SMTP)组件,用于简化电子邮件处理。CDO.Message对象提供了丰富的属性和方法,允许开发者轻松地构造和发送电子邮件。 ##...

    testci-common-email

    总的来说,"testci-common-email"项目提供了一个通用的、基于Java的电子邮件处理框架,适用于持续集成环境中的邮件通信需求,比如发送构建报告、触发后续构建或通知相关人员。开发者可以通过调用其API来简化邮件处理...

    testci-common-email:创建回购

    我们可以推测,testci-common-email库可能使用了Java的邮件API(JavaMail API)或者其他第三方库,如Apache Commons Email,来实现电子邮件的处理功能。 考虑到提供的压缩包子文件名"testci-common-email-main",这...

    vbs sendmail发邮件带附件方法

    在VBScript(Visual Basic Scripting Edition)环境下,发送带有附件的电子邮件可以通过使用CDO(Common Data Object)消息对象来实现。CDO是一个ActiveX组件,允许开发者创建、配置和发送邮件,包括添加附件。以下...

    OUTLOOK模板的使用

    - 创建新的邮件时,选择“动作” -> “新邮件使用” -> “选择信纸”。 - 从列表中选择之前创建的信纸模板。 - 编写邮件内容并发送。 ### 总结 无论是Outlook 2003还是Outlook 2007,通过设置和使用信纸模板都能...

    解释学:使用Ruby轻松进行CGI和邮件处理

    **解释学:使用Ruby轻松进行CGI和邮件处理** Ruby是一种强大的、面向对象的脚本语言,因其简洁的语法和丰富的库而受到开发者喜爱。在Web开发领域,Ruby被广泛用于创建动态网页和处理服务器端请求,特别是通过CGI...

    Python库 | tencentcloud-sdk-python-ses-3.0.371.tar.gz

    SES是一项电子邮件服务,旨在帮助开发者轻松、安全地发送批量邮件,无论是交易确认、账单通知还是营销消息。通过这个SDK,你可以轻松集成邮件发送功能到你的Python应用程序中,而无需关心底层的邮件服务器配置和管理...

    Python库 | tencentcloud-sdk-python-ses-3.0.432.tar.gz

    然后,可以调用`SendEmail`接口发送邮件,提供必要的参数如发件人、收件人、邮件主题和内容: ```python req = models.SendEmailRequest.SendEmailRequest() req.FromAddress = "sender@example.com" req.ToAddress ...

    Python库 | tencentcloud-sdk-python-ses-3.0.532.tar.gz

    在Python的开发环境中,TencentCloud SDK for Python SES(Simple Email Service)是一个重要的库,它提供了发送邮件的功能,使得开发者能够轻松地集成腾讯云的电子邮件服务到他们的应用程序中。本文将深入探讨这个...

    yii2-common:Yii 2普通库

    1. **组件化编程**:Yii 2 框架的核心就是组件化,yii2-common 扩展了这一概念,提供了可复用的组件,如日志记录器、缓存管理、邮件发送等,便于集成到任何基于 Yii 2 的项目中。 2. **日志管理**:在开发过程中,...

    java桥接模式

    - **实现邮件发送** `CommonMessageEmail`:同样实现了 `Message` 接口,但使用邮件发送普通消息。 示例代码如下: ```java public interface Message { void send(String message, String toUser); } public ...

    python+selenium实现QQ邮箱自动发送功能

    通过Python与Selenium的结合,我们可以轻松实现网页自动化操作,比如自动登录网站、填写表单、发送邮件等。本文将详细介绍如何使用Python和Selenium实现QQ邮箱的自动发送功能。 #### 二、环境搭建与准备 ##### 2.1...

    cl-rfc2047:RFC 2047的实现

    电子邮件标头,如发件人、收件人和主题,可能包含非ASCII字符,例如国际化的姓名或地址。cl-rfc2047库提供了工具来按照RFC 2047的规定对这些字符进行编码和解码。 **Common Lisp与电子邮件处理** Common Lisp是一...

    cl-qprint:引用可打印编码的实现

    3. **兼容性**:cl-qprint与标准的Common Lisp库和协议兼容,使得开发者可以轻松地集成到现有的代码base中。 4. **文档支持**:尽管描述中提到文档,但未提供具体内容。通常,一个活跃维护的项目会提供详细的文档,...

    流风ASP.NET通用框架标准版1.1

    6. **WebLib.Email**:邮件发送模块,可能包含邮件服务的配置和邮件发送接口,方便系统发送通知、验证码等。 7. **WebLib.Web**:这部分可能包含了Web应用的核心逻辑,如路由处理、HTTP请求响应等功能。 8. **Web...

Global site tag (gtag.js) - Google Analytics