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

📄 sendmail.java

📁 小迷糊JSP多用户留言本V2.0
💻 JAVA
字号:
package javafan;

/**
* @author Zhangkun aistill@msn.com
* @version 1.0
*/

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Date;
import javax.activation.*;
import java.io.*;

public class sendMail {

  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 sendMail() {
    setSmtpHost("smtp.21cn.com");
    createMimeMessage();
  }

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

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


  public boolean createMimeMessage() {
   try{
     session = Session.getDefaultInstance(props,null); //获得邮件会话对象
   }catch(Exception e){
     return false;
   }
   try{
     mimeMsg = new MimeMessage(session); //创建MIME邮件对象
     mp = new MimeMultipart();
     return true;
   }catch(Exception e){
     return false;
   }
  }

  public void setNeedAuth(boolean 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) {
   try{
     mimeMsg.setSubject(mailSubject);
     return true;
   }catch(Exception e) {
     return false;
   }
  }

  public boolean setBody(String mailBody) {
   try{
     BodyPart bp = new MimeBodyPart();
     bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+mailBody,"text/html;charset=GB2312");
     mp.addBodyPart(bp);
     return true;
   }catch(Exception e){
     return false;
   }
 }

  public boolean setFrom(String from) {
   try{
     mimeMsg.setFrom(new InternetAddress(from));
     return true;
   }catch(Exception e){
     return false;
   }
  }

  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;
   }
  }

  public boolean sendout(){
   try{
     mimeMsg.setContent(mp);
     mimeMsg.saveChanges();

     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));
     transport.close();
     return true;
   }catch(Exception e){
     return false;
   }
  }
}

⌨️ 快捷键说明

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