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.  }  }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值