『JAVA基础』使用JavaMail发邮件的实例 (转载)

转载于:http://rhyme.blog.51cto.com/328158/67998

 

代码一、Email_Autherticator.java 服务器验证代码

import javax.mail.Authenticator; 
import javax.mail.PasswordAuthentication; 

public class Email_Autherticator extends Authenticator { 
    String username = "你邮箱的用户名"; 
  
    String password = "你邮箱的密码"; 
    public Email_Autherticator() { 
  super(); 
    } 
    public Email_Autherticator(String user,String pwd){ 
  super(); 
  username = user; 
  password = pwd; 
    } 
    public PasswordAuthentication getPasswordAuthentication(){ 
  return new PasswordAuthentication(username,password); 
    } 
}

 

代码二、Mail.java 发送邮件的代码

import java.util.Date; 
import java.util.Properties; 
import javax.mail.Address; 
import javax.mail.Authenticator; 
import javax.mail.Message; 
import javax.mail.SendFailedException; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

public class Mail { 
    private String host = "smtp.126.com"; 
  
    private String mail_head_name = "this is head of this mail"; 
  
    private String mail_head_value = "this is head of this mail"; 
  
    private String mail_to = "254173774@qq.com"; 
  
    private String mail_from = "hackboyo@126.com"; 
  
    private String mail_subject = "this is the subject of this test mail"; 
  
    private String mail_body = "this is mail_body of this test mail"; 
  
    private String personalName = "我的邮件"; 
    public void sendMail() throws SendFailedException{ 
  try { 
      Properties props = new Properties();//获取系统环境 
      Authenticator auth = new Email_Autherticator();//进行邮件服务用户认证 
      props.put("mail.smtp.host", host); 
      props.put("mail.smtp.auth", "true"); 
      System.out.println(props); 
      Session session = Session.getDefaultInstance(props,auth); 
      //设置session,和邮件服务器进行通讯 
      MimeMessage message = new MimeMessage(session); 
      message.setContent("Hello","text/plain");//设置邮件格式 
      message.setSubject(mail_subject);//设置邮件主题 
      message.setText(mail_body);//设置邮件内容 
      message.setHeader(mail_head_name, mail_head_value);//设置邮件标题 
      message.setSentDate(new Date());//设置邮件发送时期 
      Address address = new InternetAddress(mail_from,personalName); 
      message.setFrom(address);//设置邮件发送者的地址 
      Address toaddress = new InternetAddress(mail_to);//设置邮件接收者的地址 
      message.addRecipient(Message.RecipientType.TO,toaddress); 
      System.out.println(message); 
      Transport.send(message); 
      System.out.println("Send Mail Ok!"); 
  } catch (Exception e) { 
      e.printStackTrace(); 
  } 
  //return flag; 
    } 
}

 

代码三、Test.java 测试发送邮件的代码

public class Test { 
    public static void main(String[] args) { 
  Mail m = new Mail(); 
  try { 
      m.sendMail(); 
  } catch (Exception e) { 
    
  } 
    } 
}

 

 

 

 

posted @ 2012-04-11 14:13  沧海小强  阅读(242)  评论(0编辑  收藏  举报