⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendmailnew.java

📁 功能是公安和学校的管理系统,用struts+hibernate+spring等匡架组成,在eclepse就能编译
💻 JAVA
字号:
package com.comingnet.bean;
import java.util.*; 
import javax.mail.*; 
import javax.mail.internet.*; 
import java.util.Date; 
import javax.activation.*; 
import java.io.*; 

public class sendMailNew
{ 
private MimeMessage mimeMsg;         //MIME邮件对象
private Session session;             //邮件会话对象 
private Properties props;            //系统属性 
private boolean needAuth = false;    //smtp是否需要认证 
private String username = "";        //smtp认证用户名和密码 
private String password = ""; 
private Multipart mp;                //Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象 


public sendMailNew()
{ 

  setSmtpHost("smtp.163.com");//如果没有指定邮件服务器,就从getConfig类中获取 
  createMimeMessage(); 
} 


public sendMailNew(String smtp)
{ 
  setSmtpHost(smtp); 
  createMimeMessage(); 
} 


public void setSmtpHost(String hostName)
 { 
    System.out.println("设置系统属性:mail.smtp.host = "+hostName); 
    if(props == null)props = System.getProperties(); //获得系统属性对象 
    props.put("mail.smtp.host",hostName); //设置SMTP主机 
 } 

public boolean createMimeMessage() 
{ 
 try
  { 
   System.out.println("准备获取邮件会话对象!"); 
   session = Session.getDefaultInstance(props,null); //获得邮件会话对象 
  }catch(Exception e)
  { 
   System.err.println("获取邮件会话对象时发生错误!"+e); 
   return false; 
  } 
System.out.println("准备创建MIME邮件对象!"); 
try
{ 
  mimeMsg = new MimeMessage(session); //创建MIME邮件对象 
  mp = new MimeMultipart(); 
 return true; 
} 
catch(Exception e)
{ 
  System.err.println("创建MIME邮件对象失败!"+e); 
  return false; 
} 

} 



public void setNeedAuth(boolean need)
 { 

    System.out.println("设置smtp身份认证:mail.smtp.auth = "+need); 
    if(props == null)props = System.getProperties(); 
    if(need)
    { 
       props.put("mail.smtp.auth","true"); 
    }else
    { 
       props.put("mail.smtp.auth","false"); 
    } 
  } 


public void setNamePass(String name,String pass) { 
username = name; 
password = pass; 
} 


public boolean setSubject(String mailSubject)
 { 
   System.out.println("设置邮件主题!"); 
   try
   { 
     mimeMsg.setSubject(mailSubject); 
     return true; 
   }catch(Exception e)
    { 
     System.err.println("设置邮件主题发生错误!"); 
     return false; 
    } 
 } 




/** 

* @param mailBody String 

*/ 

public boolean setBody(String mailBody) { 

try{ 

BodyPart bp = new MimeBodyPart(); 

bp.setContent(""+mailBody,"text/html;charset=GB2312"); 

mp.addBodyPart(bp); 


return true; 

} 

catch(Exception e){ 

System.err.println("设置邮件正文时发生错误!"+e); 

return false; 

} 

} 



/** 

* @param name String 

* @param pass String 

*/ 

public boolean addFileAffix(String filename) { 

System.out.println("增加邮件附件:"+filename); 
try{ 

  BodyPart bp = new MimeBodyPart(); 
  
  FileDataSource fileds = new FileDataSource(filename);   //得到数据源
  
  bp.setDataHandler(new DataHandler(fileds));             //得到附件本身并传入bodypart  
  
  bp.setFileName(fileds.getName());                       //得到文件传至bodypart
  
  mp.addBodyPart(bp); 
  
  return true; 

} 

catch(Exception e){ 

System.err.println("增加邮件附件:"+filename+"发生错误!"+e); 

return false; 

} 

} 




/** 

* @param name String 

* @param pass String 

*/ 

public boolean setFrom(String from) { 

System.out.println("设置发信人!"); 

try{ 

mimeMsg.setFrom(new InternetAddress(from)); //设置发信人 

return true; 

} 

catch(Exception e) 

{ return false; } 

} 



/** 

* @param name String 

* @param pass String 

*/ 

public boolean setTo(String to){ 

if(to == null)return false; 


try{ 

mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to)); 

return true; 

} 

catch(Exception e) 

{ return false; } 


} 

/** 

* @param name String 

* @param pass String 

*/ 

public boolean setCopyTo(String copyto) 

{ 

if(copyto == null)return false; 

try{ 

mimeMsg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(copyto)); 

return true; 

} 

catch(Exception e) 

{ return false; } 

} 


public boolean setMSTo(String msto) 

{ 

if(msto == null)return false; 

try{ 

mimeMsg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(msto)); 

return true; 

} 

catch(Exception e) 

{ return false; } 

} 

/** 

* @param name String 

* @param pass String 

*/ 

public boolean sendout() 

{ 

try{ 

mimeMsg.setContent(mp); 

mimeMsg.saveChanges(); 

System.out.println("正在发送邮件...."); 


Session mailSession = Session.getInstance(props,null); 

Transport transport = mailSession.getTransport("smtp"); 

transport.connect((String)props.get("mail.smtp.host"),username,password); 

transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO)); 

if(mimeMsg.getRecipients(Message.RecipientType.CC)!=null)
   transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.CC)); 
if(mimeMsg.getRecipients(Message.RecipientType.BCC)!=null)   
   transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.BCC)); 

//transport.send(mimeMsg); 


System.out.println("发送邮件成功!"); 

transport.close(); 


return true; 

} 

catch(Exception e) 

{ 

System.err.println("邮件发送失败!"+e); 

return false; 

} 

} 



/** 

* Just do it as this 

*/ 

public static void main(String[] args)
 { 
	   String mailbody = ""+"邮件测试"; 
	   sendMailNew themail = new sendMailNew("smtp.163.com"); 
	   themail.setNeedAuth(true); 
	   if(themail.setSubject("邮件测试") == false) return; 
	   if(themail.setBody(mailbody) == false) return; 
	   if(themail.setTo("fanglai2000@163.com") == false) return; 
	   if(themail.setFrom("fanglai2000@163.com") == false) return; 
	   if(themail.addFileAffix("c:\\boot.ini") == false) return; 
	    themail.setNamePass("fanglai2000@163.com","keanfly"); 
	    if(themail.sendout() == false) return; 
} 

} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -