ITperson

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
public class mail
{

  private String pop3Server="";
  private String smtpServer="";

  private String srcMailAddr="";
  private String user="";
  private String password="";

    public mail()
    {
    }
    public boolean getConfig(){

      this.pop3Server="pop.163.com";
      this.smtpServer="smtp.163.com";

      this.srcMailAddr="cup209@163.com";
      this.user="cup209";
      this.password="******";

      return true;
    }
    public boolean checkMailAddr(String mailAddr){
      if(null==mailAddr){
        return false;
      }
      return mailAddr.matches("^[a-z0-9A-Z_]{1,}@[a-z0-9A-Z_]{1,}$");
    }
    public boolean send(String dstMailAddr,String subject,String content){

        if(checkMailAddr(dstMailAddr)){
        System.out.print("send mail fail:dst mail addr error");
        return false;
      }
        try
        {
            this.getConfig();
            Properties props = new Properties();
            Session sendMailSession;
            Store store;
            Transport transport;
            props.put("mail.smtp.auth","true");
            props.put("mail.smtp.host", this.smtpServer); //smtp主机名。
            props.put("mail.smtp.user",this.srcMailAddr); //发送方邮件地址。
            props.put("mail.smtp.password",this.password); //邮件密码。
            PopupAuthenticator popA=new PopupAuthenticator();//邮件安全认证。
            PasswordAuthentication pop = popA.performCheck(this.user,this.password); //填写用户名及密码
            sendMailSession = Session.getInstance(props, popA);
            Message newMessage = new MimeMessage(sendMailSession);
            newMessage.setFrom(new InternetAddress(this.srcMailAddr));
            newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(dstMailAddr));  //接收方邮件地址
            newMessage.setSubject(Tool.convertGBK2UTF8(subject));
            newMessage.setSentDate(new Date());
            String mailContent=content;
           try{
               newMessage.setText(Tool.gbToUtf8(mailContent)); //邮件正文
           }catch(Exception e){}
            //newMessage.setContent(content,"text/html;charset=GBK");
            transport = sendMailSession.getTransport("smtp");
            transport.send(newMessage);


        }
        catch (MessagingException ex)
        {
            ex.printStackTrace();
            return false;
        }
        return true;
    }

    public static void main(String[] args)
    {
        mail sml = new mail();
        sml.send("cup209@163.com","测试邮件","<a href='http://www.163.com'>测试邮件内容</a>");
    }

    public class PopupAuthenticator extends Authenticator{
        String username=null;
        String password=null;
        public PopupAuthenticator(){}
        public PasswordAuthentication performCheck(String user,String pass){
            username = user;
            password = pass;
            return getPasswordAuthentication();
        }
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }

    }
}

 

posted on 2013-09-06 17:05  ITperson  阅读(929)  评论(0编辑  收藏  举报