`

java mail 邮件发送和接收

 
阅读更多

详细的JavaMail技术介绍参考http://book.csdn.net/bookfiles/371/10037114086.shtml
一、使用JavaMail 发送邮件

 

Java代码 复制代码 收藏代码
  1. package com.bb.basic.javamail;   
  2.   
  3. import javax.mail.*;   
  4. import javax.mail.internet.InternetAddress;   
  5. import javax.mail.internet.MimeMessage;   
  6. import java.util.*;   
  7. /**  
  8.  * 使用JavaMail API发送邮件  
  9.  * @author Administrator  
  10.  *  
  11.  */  
  12. public class JavaMailSender {   
  13.     public static void main(String[] args) {   
  14.         // TODO Auto-generated method stub   
  15.         Transport transport=null//Transport对象负责发送邮件   
  16.         try{//设置邮件发送环境   
  17.             Properties props=new Properties();     
  18.             props.put("mail.transport.protocol","smtp");//邮件发送协议   
  19.             //smtp服务器的地址 如:smtp.sina.com.cn   
  20.             props.put("mail.smtp.host","smtp.sina.com.cn");   
  21.             //smtp服务器是否需要用户认证,默认为false   
  22.             props.put("mail.smtp.auth","true"); //注意是"true",并非true   
  23.                
  24.             //设置认证信息:用户名和密码   
  25.             Authenticator auth=new Authenticator(){   
  26.                 protected PasswordAuthentication getPasswordAuthentication(){   
  27.                     return new PasswordAuthentication("dongkk","password");   
  28.                 }   
  29.             };   
  30.                
  31.             Session session=Session.getInstance(props,auth);   
  32.                
  33.             Message msg=new MimeMessage(session);   
  34.             msg.setFrom(new InternetAddress("dongkk@sina.com"));   
  35.             msg.setRecipient(Message.RecipientType.TO,   
  36.                     new InternetAddress("dongkk@sina.com"));   
  37.             msg.setSubject("Test Mail");   
  38.             msg.setSentDate(new Date());   
  39.             msg.setText("Java Mail API");   
  40.                
  41.                
  42.             transport=session.getTransport();   
  43.             transport.send(msg);   
  44.                
  45.             System.out.println("邮件发送成功!");   
  46.                
  47.         }catch(MessagingException e){ e.printStackTrace();   
  48.         }finally{   
  49.             try{   
  50.                 transport.close();   
  51.             }catch(Exception e){}   
  52.         }   
  53.     }   
  54. }  
package com.bb.basic.javamail;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.*;
/**
 * 使用JavaMail API发送邮件
 * @author Administrator
 *
 */
public class JavaMailSender {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Transport transport=null; //Transport对象负责发送邮件
		try{//设置邮件发送环境
			Properties props=new Properties();  
			props.put("mail.transport.protocol","smtp");//邮件发送协议
			//smtp服务器的地址 如:smtp.sina.com.cn
			props.put("mail.smtp.host","smtp.sina.com.cn");
			//smtp服务器是否需要用户认证,默认为false
			props.put("mail.smtp.auth","true"); //注意是"true",并非true
			
			//设置认证信息:用户名和密码
			Authenticator auth=new Authenticator(){
				protected PasswordAuthentication getPasswordAuthentication(){
					return new PasswordAuthentication("dongkk","password");
				}
			};
			
			Session session=Session.getInstance(props,auth);
			
			Message msg=new MimeMessage(session);
			msg.setFrom(new InternetAddress("dongkk@sina.com"));
			msg.setRecipient(Message.RecipientType.TO,
					new InternetAddress("dongkk@sina.com"));
			msg.setSubject("Test Mail");
			msg.setSentDate(new Date());
			msg.setText("Java Mail API");
			
			
			transport=session.getTransport();
			transport.send(msg);
			
			System.out.println("邮件发送成功!");
			
		}catch(MessagingException e){ e.printStackTrace();
		}finally{
			try{
				transport.close();
			}catch(Exception e){}
		}
    }
}


 

 

二、使用JavaMail 接收邮件

Java代码 复制代码 收藏代码
  1.  package com.bb.basic.javamail;   
  2. import javax.mail.*;   
  3. import javax.mail.internet.InternetAddress;   
  4. import javax.mail.internet.MimeMessage;   
  5. import java.util.*;   
  6. public class JavaMailSSLReceiver {   
  7.  public static void main(String[] args) {   
  8.   // TODO Auto-generated method stub   
  9.   Properties props=new Properties();   
  10.   Session session=Session.getDefaultInstance(props);   
  11.   //第1个参数为接受协议,第2个参数为邮件接收服务器的地址,第三个参数为pop3协议的端口,最后两个为用户名和密码   
  12.   URLName url=new URLName("pop3","pop.sina.com.cn",110,null,"dongkk","password");   
  13.   //使用SSL加密传输协议,gmail可以使用ssl协议来保证邮件传输的安全,使用SSL的POP3S的默认端口为995。   
  14.   //URLName url=new URLName("pop3s","pop.gmail.com",995,null,"masterspring","spring");   
  15.      
  16.   Store store=null;   
  17.   Folder inbox=null;   
  18.   try{   
  19.    store=session.getStore(url);     
  20.    //使用URLName指定Session邮件环境,包括认证信息   
  21.             store.connect();  //连接邮件服务器   
  22.       
  23.    //从邮件服务器中返回邮箱内的信息   
  24.    inbox=store.getFolder("INBOX");   
  25.    inbox.open(Folder.READ_ONLY);  //打开Folder   
  26.    FetchProfile fp=new FetchProfile();   
  27.    fp.add(FetchProfile.Item.ENVELOPE);   
  28.       
  29.    Message[] msgs=inbox.getMessages();   
  30.    inbox.fetch(msgs, fp);   
  31.       
  32.    //显示邮件信息   
  33.    for(int i=0;i<msgs.length;i++){   
  34.     String from=msgs[i].getFrom()[0].toString();   
  35.     InternetAddress id=new InternetAddress(from);   
  36.     System.out.println();   
  37.     System.out.println("发送者:"+id.getPersonal()+"/"+id.getAddress());   
  38.        
  39.     System.out.println("标题:"+msgs[i].getSubject());   
  40.     System.out.println("大小:"+msgs[i].getSize());   
  41.     System.out.println("时间:"+msgs[i].getSentDate());   
  42.    }   
  43.   }catch(Exception er){   
  44.     System.out.println("发生异常:"+er.toString());   
  45.   }finally{   
  46.    try{   
  47.     inbox.close(false);   
  48.     store.close();   
  49.    }catch(Exception e){}   
  50.   }   
  51.  }  }  
分享到:
评论

相关推荐

    Java Mail邮件发送源码下载

    Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...

    Java通过Exchange协议发送和接收邮件

    5. 发送邮件:使用EmailMessage的send方法将邮件发送出去。 接收邮件部分,主要涉及到查询和处理邮箱中的邮件: 1. 获取Folder对象:通过ExchangeService对象获取Inbox或Drafts等特定文件夹的引用。 2. 查询邮件:...

    java mail 邮件发送

    Java Mail邮件发送是一个在Java应用程序中发送电子邮件的关键技术。它基于JavaMail API,这是一个开源库,提供了丰富的功能来处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件...

    java实现邮件发送(三种发送方式都有)

    邮件发送主要涉及到SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)两种协议。SMTP用于将邮件发送到邮件服务器,而POP3则用于从邮件服务器接收邮件。此外,还有IMAP(Internet ...

    JAVA_Mail_邮件_发送_接收_抄送_密送_附件

    JAVA_Mail_邮件_发送_接收_抄送_密送_附件 该资源是一个Java项目,可用Eclipse导入即可运行。 共4个类: 1:ReceiveMail.java -接收普通邮件 2:ReciveMailWithAttachMent.java --接收含有附件的邮件 3:SendMail....

    简单Java邮件发送 Java实现邮件发送

    本教程将详细介绍如何使用Java实现邮件发送功能,同时提供了一个Jar包和demo源码供参考。 首先,我们需要理解JavaMail API,这是一个Java平台上的邮件处理库,它提供了发送和接收电子邮件的能力。JavaMail API 包含...

    java 发送附件mail

    在实际开发中,还可以使用第三方库如Apache Commons Email或JavaMailSender Interface(Spring框架的一部分)来简化邮件发送的过程,它们提供了更友好的API来处理邮件。 总结一下,Java发送带有附件的邮件涉及到...

    基于Java的邮件发送模板

    本篇文章将详细讲解如何利用Java实现邮件发送,并结合Apache的相关库来创建邮件发送模板,以提升效率和用户体验。 首先,JavaMail API是Java中用于处理电子邮件的主要库。它提供了丰富的API,可以用来创建、发送和...

    java mail 发送邮件

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用程序中,我们通常使用JavaMail API来实现邮件的自动化操作,比如发送带有附件的邮件、群发邮件等。下面将...

    java mail(邮件发送实例)

    Java Mail 是一个用于处理电子邮件的开源API,它允许Java开发者在应用程序中实现发送、接收和操作邮件的功能。在这个实例中,我们将深入探讨如何使用Java Mail API来发送邮件,特别是涉及中文处理和HTML格式的邮件。...

    java 发送邮件 spring发送邮件Mail

    `java邮件系统`和`java邮件收发`则涉及到更广泛的邮件处理概念,包括不仅限于发送,还可能包括接收和解析邮件。 综上所述,Java结合Spring框架发送邮件是一个实用且功能强大的解决方案,通过合理的配置和编程,可以...

    申请和配置Google Apps邮件服务器,附带JAVA MAIL邮件发送系统

    描述中提到的“JAVA MAIL邮件发送系统”是指使用JavaMail API来发送电子邮件。JavaMail是Java平台上的开源库,它提供了一组接口和类,可以与各种邮件服务器通信,包括SMTP服务器(用于发送邮件)、POP3或IMAP服务器...

    java mail 发送邮件代码与架包

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和操作邮件。这个API提供了广泛的协议支持,包括SMTP(简单邮件传输协议)用于发送邮件,POP3和IMAP4用于接收邮件。在Java Mail中,...

    EmailUtils Java mail 邮件发送

    `JavaMail`库提供了API,使得开发者能够通过Java程序来发送、接收和处理邮件。下面我们将深入探讨`EmailUtils`和`JavaMail`的相关知识点。 1. **JavaMail API** `JavaMail`是一个开源的Java库,它提供了邮件协议...

    java mail 发送QQ邮件

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java中,使用Java Mail API发送QQ邮件是常见的需求,尤其对于自动化通知或者服务端消息传递非常实用。以下是对这个...

    java实现发送邮件功能源码+jar

    在Java中实现邮件发送,首先需要引入JavaMail API的相关依赖,如 javax.mail 和 javax.mail.internet 包。 2. **SMTP 协议**: Simple Mail Transfer Protocol (SMTP) 是互联网上用于发送电子邮件的标准协议。...

    电子邮件发送和接收程序.rar 电子邮件发送和接收程序.rar

    本压缩包“电子邮件发送和接收程序.rar”包含了关于如何实现这一功能的相关程序和可能的源代码,旨在帮助开发者理解和构建自己的邮件系统。 首先,我们需要理解电子邮件的工作原理。电子邮件系统基于SMTP(Simple ...

Global site tag (gtag.js) - Google Analytics