`
laintoday
  • 浏览: 64274 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

java mail的介绍

    博客分类:
  • Java
 
阅读更多

以下是转载的关于java mail的介绍
Session
--------------------------------------------------------------------
 Session 定义了一个基本的邮件会话,任何工作都是基于这个Session的。Session 对象需要一个 java.util.Properties 对象来得到类似 邮件服务器,用户名,密码这样的信息。
 
 Session 的构造函数是私有的,你可以通过 getDefaultInstance() 方法来取得一个单一的可以被共享的默认session 如:

  Properties props = new Properties();
  // 填写一些信息
  Session session = Session.getDefaultInstance(props,null);

 或者,你可以使用 getInstance() 方法来创建一个唯一的 session如:

  Properties props = new Properties();
  // 填写一些信息
  Session session = Session.getInstance(props,null);
 
 在这两种方法中 其中的 null 参数是一个 Authenticator 对象,在这里没有被使用的,所以就是null
 
 在大多数案例中,使用一个共享session 已经做够了。

Message
----------------------------------------------------------------
 一旦你创建了Session对象,那么下面要做的就是创建 message 来发送。Message 是一个抽象类,在大部分应用中你可以使用 它的子类 javax.mail.internet.MimeMessage 。MimeMessage 是一个理解在不同RFCs中定义的MIME类型 以及headers的e-mail message 。 Message headers 必须使用 US-ASCII 字符集。

 可以用如下的方法创建一个 Message 
  MimeMessage message = new MimeMessage(session);
 我们注意到,这里需要用session对象作为构造函数的参数。当然,还有其它的构造函数,比如从用RFC822格式化过的输入流来创建message。

 一旦你得到了 message ,你就可以来设置它的各个部分(parts)。设置内容(content)的基本的机制是使用setContent() 方法。

  message.setContent("Email Content. ","text/plain");

 如果,你能够明确你的使用MimeMessage来创建message 并且只是使用普通的文本(plain text) 那么你也可以使用 setText() 方法,setTest()方法只需要设置具体的内容,它默认的MIME类型是 text/plain
  
  message.setText("Email Content. ");
 
 对于普通文本类型的邮件,有一种机制是首选( message.setText("Email Content. "))的设置内容的方法。如 果要创建其它类型的message ,比如 HTML类型的message  那么还是需要使用前者 (  message.setContent("Email Content. ","text/html"); )

 设置主题(subject ),使用setSubject() 方法
  
  message.setSubject(" Subject ");

Address 
----------------------------------------------------------------
 
 当你已经创建Session 以及 Message,并且已经为message 填充了内容,那么接下来要做的就是给你的邮件添加一个地址 (Address)。 就像Message一样,Address也是一个抽象类,我们可以使用它的一个子类 javax.mail.internet.InternetAddress 。

 创建一个地址非常简单

  Address address = new InternetAddress("suixin@asiainfo.com ");

 如果,你希望在出现邮件地址的地方出现一个名称,那么你只需要再多传递一个参数。

  Address address = new InternetAddress("suixin@asiainfo.com ","Steve");

 你需要为 message 的from以及 to 字段创建address对象。为了识别发送者,你需要使用setFrom() 和 setReplyTo() 方法。
  
  messge.setFrom(address);

 如果你的message 需要显示多个 from 地址,可以使用 addFrom() 方法

  Address address[] = {....};
  message.addFrom(address);

 为了辨识message 的收件人,你需要使用 setRecipient() 方法。这个方法除了address参数之外,还需要一个Message.RecipientType 。

 message.addRecipient(type,address);

 Message.RecipientType有几个预先定义好的类型
 
 Message.RecipientType.TO  收件人
 Message.RecipientType.CC  抄送
 Message.RecipientType.BCC  暗送

 如果你的一封邮件,需要发送给你的老师,并还要给你的几个同学,那么你可以这样

 Address toAddress = new InternetAddress("teacher@17288.com ");
 Address[] ccAddress = {new InternetAddress("schoolmate1@17288.com "),new InternetAddress("schoolmate2@17288.com ")};

 message.addRecipient(Message.RecipientType.To, toAddress);
 message.addRecipient(Message.RecipientType.CC, ccAddress);
 
 JavaMail 没有提供电子邮件地址有效性的检测。这些超越了JavaMail API的范围。

Authenticator
 
 通过Authenticator设置用户名、密码,来访问受保护的资源,这里的资源一般指的是邮件服务器。
 
 Authenticator也是一个抽象类,你需要自己编写子类已备应用。你需要实现getPasswordAuthentication() 方法,并返回一个PasswordAuthentication实例。你必须在 session被创建时, 注册你的 Authenticator。这 样,当需要进行认证是,你的Authenticator就可以被得到。

  Properties props = new Properties();
  //设置属性
  Authenticator auth = new YourAuthenticator();
  Session session = Session.getDefaultInstance(props, auth);
 
Transport
----------------------------------------------------------------

 发送消息最后的一步就是使用Transport类,你可以通过两种方法来进行发送。
 Transport 是一个抽象类,你可以调用它静态的send() 方法来发送

  Transport.send(message);

 或者,你可以为你使用的协议从session中取得一个指定的实例,

  Transport transport = session.getTransport("smtp");
  transport.sendMessage(message, message.getAllRecipients());
  transport.close();

Store and Folder
 
 这两个类重要用于取得信息。在创建了Session之后,需要连接到一个 Store ,你需要告诉Store  你使用的是什么协议。

  // Store store = session.getStore("imap");
  Store store = session.getStore("pop3");
  store.connect(host, username, password);

 在连接到一个 Store 后,你可以得到一个 Folder,当然,这个Floder必须是打开的。

  Folder folder = store.getFolder("INBOX");
  folder.open(Folder.READ_ONLY);
  Message message[] = folder.getMessages();

 如果使用POP3那么,INDEX是唯一可用的文件夹。如果使用的是IMAP,你就可以使用其它的文件夹。

分享到:
评论

相关推荐

    java mail

    java mailjava mailjava mailjava mailjava mailjava mailjava mailjava mail

    java-mail-1.4

    java-mail-1.4

    java mail jar包

    该资源包含了java mail开发所需要的jar,如下: commons-email-1.2-bin.zip commons-email-1.4-bin.zip javamail_1.4.6.zip javamail_1.4.7.zip javax.mail.jar mailapi.jar smtp.jar

    java 发送附件mail

    java发送附件mail, 包阔多附件,文本mail,以及网页mail.

    java mail大全 jar

    用java 开发email 使用的包都有了 mail-1.4.1.jar activation.jar commons-email-1.2.jar commons-email-1.2-javadoc.jar commons-email-1.2-sources.jar

    java mail服务器源代码

    java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器

    Java mail邮件开发

    张孝祥的java mail开发教程 Java Mail API的开发是SUN为Java开发者提供公用API框架的持续努力的良好例证。提倡公用框架,反对受限于供应商的解决方案, 充分预示着一个日益开放的开发环境的建立。Java Mail API的...

    Java Mail.rar

    Java Mail.rar 利用其jar包可以利用java发送邮件的功能,javamail是一个非常有用的jar

    Java mail-1.4.7 jar包

    mail-1.4.7.jar,java发送邮件jar包。通过这个Jar包可实现基于Java的邮件发送,可以应用于Loadrunner或Jmeter中的测试报告邮件发送

    Java.mail开发包

    Java.mail开发包Java.mail开发包Java.mail开发包Java.mail开发包Java.mail开发包

    Java_Mail.zip_java_java mail_java.mail_mail

    文中使用Java mail API写的邮件收发例子。

    java mail工具类

    NULL 博文链接:https://wenxiang-tune.iteye.com/blog/846379

    java mail开发所需jar包

    java mail开发所需jar包:activation.jar,j2ee.jar,mail.jar,放在了lib.rar中

    java mail 1.4.5 jar_source 天涯浪子

    java mail 1.4.5 jar包、源代码、doc文档,还有包含所依赖的jaf 1.1.1的jar包和源代码 。

    java-mail开发包

    包含了oracle官网网站提供的开发java-mail的全部jar文件。

    Java Mail封装的Jar包

    封装了一个java mail的jar包,只需设置邮件的基本信息 就可发邮件: //这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost("smtp.163.com"); mailInfo....

    JAVA Mail Application

    JAVA Mail JAVA Mail JAVA Mail JAVA Mail JAVA Mail JAVA Mail JAVA Mail JAVA Mail JAVA Mail

    java mail server

    Java mail server, used for development.

    java.mail.txt

    java.mail.txt java实现邮件发送的jar包,版本是1.6.0

    java发Email和mail.jar

    也许很多 同道遇到和我一样的问题,建了个web项目,写一堆代码,结果一运行老是报错!!...Java代码+mailjar 搞定!!!如果还没有成功,你可以给我发邮件973203075@qq.com,我可以把项目也给你!!

Global site tag (gtag.js) - Google Analytics