知识大全 实例代码解析

Posted 附件

篇首语:少年意气强不羁,虎胁插翼白日飞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 实例代码解析相关的知识,希望对你有一定的参考价值。

Javamail操作指南:实例代码解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  怎样才算比较完整的Javamail操作指南?我想应该包括绝大多数基本的email操作 能够应付一般的应用 在本指南中主要囊括了以下内容     ● 发送email 包括文本邮件 HTML邮件 带附件的邮件 SMTP验证    ● 接收email pop 远程连接 收取不同MIME的邮件 处理附件    我想有了上述功能的介绍 应该可以应付很多email的相关应用了 首先需要配置环境 需要的包是mail jar和activation jar 高版本的J SDK EE自带      一 邮件的发送    下面了弄个发邮件的Hello World 热热身     /*************  Name:TextMailSender java  Author:Bromon  Version:   Date:   Note:发送email到   需要安装SMTP服务器  *************/  package bromon mail;  import javax mail *;  import javax mail internet *;  import java util *;  public class TextMailSender    public static void main(String args[])    try    Properties prop=new Properties();  //指定要使用的SMTP  服务器为bromon k  prop put( mail smtp host bromon k );  Session mailSession=Session getDefaultInstance(prop);    //发件人地址  InternetAddress from=new InternetAddress(   bromon@bromon k );  //收件人地址  InternetAddress to=new InternetAddress(   );    MimeMessage msg=new MimeMessage(mailSession);  msg setFrom(from);  msg addRecipient(  javax mail Message RecipientType TO to);  //发信日期  msg setSentDate(new java util Date());  //title  msg setSubject( 你好 );  //邮件正文  msg setText( hello bromon );  Transport send(msg);  catch(Exception e)    System out println(e);          程序很简单 但是它是不能运行的 除非你的机器上安装了一个SMTP服务器 而且你的机器还叫做bromon k 写这么一段不能执行的程序不是因为其他一些原因 而是想让各位对javamail有个基本印象 下面演示的是如何通过 sohu等email服务商提供的免费邮箱来发邮件 基本操作和上面的一样 只是多一个SMTP验证而已     /*  * Created on   */  package bromon mail;  import javax mail *;  import java util *;  import javax mail internet *;    /**  * @author Bromon  */  public class SenderWithSMTPVer    String host= ;  String user= ;  String password= ;    public void setHost(String host)    this host=host;      public void setAccount(  String user String password)    this user=user;  this password=password;      public void send(String from String to   String subject String content)    Properties props = new Properties();  props put( mail smtp host host);  //指定SMTP服务器  props put( mail smtp auth true );  //指定是否需要SMTP验证  try    Session mailSession = Session getDefaultInstance(props);    mailSession setDebug(true);  //是否在控制台显示debug信息    Message message=new MimeMessage(mailSession);  message setFrom(new InternetAddress(from));  //发件人  message addRecipient(Message RecipientType TO   new InternetAddress(to));  //收件人    message setSubject(subject);  //邮件主题  message setText(content);  //邮件内容  message saveChanges();    Transport transport = mailSession getTransport( smtp );  nnect(host user password);  transport sendMessage(message message getAllRecipients());  transport close();  catch(Exception e)    System out println(e);          public static void main(String args[])    SenderWithSMTPVer sm=new SenderWithSMTPVer();    sm setHost( );  //指定要使用的邮件服务器  sm setAccount( abc );  //指定帐号和密码    /*  * @param String 发件人的地址  * @param String 收件人地址  * @param String 邮件标题  * @param String 邮件正文  */  sm send( 标题 内容 );          这段程序好像也不需要解释了吧 把SMTP地址 帐号 密码等配置信息写到Properties里面 Java里面很多API都需要这么干 比如再程序中加入对代理服务器的支持等 上面的程序修改一下服务器地址 帐号 密码就可以使用 非常简单     如何发送一个HTML格式的Email呢?也很简单 再邮件正文中写入HTML代码 然后指定邮件的ContentType就OK 下面只给出关键代码     ………  MimeMessage msg=new MimeMessage(mailSession);  msg setContent(content text/ );  msg setText( <><body><h >下面的 你们好吗?</body></> );  ………    下面是发送带有附件的email 稍微复杂一点 而且和前面的程序有一些不同 请仔细一点 同时需要一点IO的知识 相同的代码就不再列出 只写关键部分     import javax mail *;  import javax mail internet *;  import javax activation *;  import java util *;  ………   MimeMessage msg=  new MimeMessage(mailSession);  msg setSentDate(new Date());  msg setSubject( hello );    MimeBodyPart textBodyPart=new MimeBodyPart();  textBodyPart setText( 邮件正文 );    MimeBodyPart fileBodyPart=new MimeBodyPart();  FileDataSource fds=new FileDataSource( GIS rar );  //要发送的附件  fileBodyPart setDataHandler(new DataHandler(fds));  fileBodyPart setFileName(fds getName());  Multipart container=new MimeMultipart();  container addBodyPart(textBodyPart);  container addBodyPart(fileBodyPart);  msg setContent(container);  Transport send(msg);  …………     二 邮件的收取    通常情况下我们都使用pop 协议来收邮件 IMAP现在就不涉及了 用一个程序就可以基本包括了收邮件的功能 邮件大致可以分三种 纯文本邮件 含有其他数据的文本邮件 含有附件的邮件     /*  * Created on   */  package bromon mail;  import javax mail *;  import java util *;  import java io *;    /**  * @author Bromon  */  public class Receiver    Folder inbox;  Store store;    //连接邮件服务器 获得所有邮件的列表  public Message[] getMail(  String host String name String password) throws Exception    Properties prop=new Properties();  prop put( mail pop host host);  Session session=Session getDefaultInstance(prop);  store=session getStore( pop );  nnect(host name password);    inbox=store getDefaultFolder() getFolder( INBOX );  inbox open(Folder READ_ONLY);    Message[] msg=inbox getMessages();    FetchProfile profile=new FetchProfile();  profile add(FetchProfile Item ENVELOPE);  inbox fetch(msg profile);    return(msg);      //处理任何一种邮件都需要的方法  private void handle(Message msg) throws Exception    System out println( 邮件主题: +msg getSubject());  System out println(   邮件作者: +msg getFrom()[ ] toString());  System out println( 发送日期: +msg getSentDate());      //处理文本邮件  public void handleText(Message msg) throws Exception    this handle(msg);  System out println( 邮件内容: +msg getContent());      //处理Multipart邮件 包括了保存附件的功能  public void handleMultipart(Message msg) throws Exception    String disposition;  BodyPart part;    Multipart mp=(Multipart)msg getContent();  int mpCount=mp getCount();  //Miltipart的数量 用于除了多个part 比如多个附件  for(int m= ;m& cha138/Article/program/Java/JSP/201311/19639

相关参考

知识大全 asp 函数与asp过程实例教程

  asp函数与asp过程提供了一种方法来创建重新编程代码可用模块和避免重写的代码每次您执行特定任务同一个块如果你没有任何职能/ASP页中的程序ASP页从上到下执行时ASP解析引擎只是处理从开始到结束

知识大全 gridpanel动态加载数据的实例代码

这篇文章介绍了gridpanel动态加载数据的实例代码有需要的朋友可以参考一下 复制代码代码如下:cha138/Article/program/Java/JSP/201311/20

知识大全 asp.net 数据绑定的实例代码

这篇文章介绍了aspnet数据绑定的实例代码有需要的朋友可以参考一下 复制代码代码如下:cha138/Article/program/net/201311/14140

知识大全 PHP采集代码实例

PHP采集代码实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Artic

知识大全 js函数排序的实例代码

这篇文章介绍了js函数排序的代码有需要的朋友可以参考一下 复制代码代码如下:varas=[];assort();//这个排序是按照字典排序//自定义按照数字排序functionsortByN

知识大全 使用Spread制作报表的代码实例

使用Spread制作报表的代码实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一.前台代码 

知识大全 界定PHP代码实例描述

PHPWeb开发学习实录:界定PHP代码实例描述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 界定PHP代码实例应用

PHPWeb开发学习实录:界定PHP代码实例应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 根据ID填充文本框的实例代码

根据ID填充文本框的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前台复制代码代码如下

知识大全 structs2输入校验实例代码

   structs输入校验实例代码如下      webxml