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

📄 sendmail.java~3~

📁 短信网关发送接受平台。
💻 JAVA~3~
字号:
package Mail;import java.util.*;import javax.mail.*;import javax.mail.internet.*;import java.util.Date;import javax.activation.*;import java.io.*;import LOG.*;import Config;/** * <p>Title: sms_statistics</p> * <p>Description: InHand XMLCenter 短信服务平台计费统计程序</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: 北京映翰通网络技术有限公司</p> * @author 韩传俊 shock2000@21cn.com * @version 1.0 */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;              public String status="发送邮件成功";            //Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象             /**              *              public sendMail() {                setSmtpHost(getConfig.mailHost);//如果没有指定邮件服务器,就从getConfig类中获取                createMimeMessage();              }              */              public sendMail(String smtp){                setSmtpHost(smtp);                createMimeMessage();              }             /**              * @param hostName String              */              public void setSmtpHost(String hostName) {                Config.log.log("设置系统属性:mail.smtp.host = "+hostName);                if(props == null)props = System.getProperties();            //获得系统属性对象                props.put("mail.smtp.host",hostName);                 //设置SMTP主机              }             /**              * @return boolean              */              public boolean createMimeMessage()              {                try{                  //Config.log.log("准备获取邮件会话对象!");                  session = Session.getDefaultInstance(props,null);   //获得邮件会话对象                }                catch(Exception e){                  Config.log.log(e,"获取邮件会话对象时发生错误!");                  return false;                }                //Config.log.log("准备创建MIME邮件对象!");                try{                  mimeMsg = new MimeMessage(session);            //创建MIME邮件对象                  mp = new MimeMultipart();                  return true;                }                catch(Exception e){                  Config.log.log(e,"创建MIME邮件对象失败!");                  return false;                }              }             /**              * @param need boolean              */              public void setNeedAuth(boolean need) {                Config.log.log("设置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");                }              }             /**              * @param name String              * @param pass String              */              public void setNamePass(String name,String pass) {                username = name;                password = pass;              }             /**              * @param mailSubject String              * @return boolean              */              public boolean setSubject(String mailSubject) {                Config.log.log("设置邮件主题:"+mailSubject);                try{                  mimeMsg.setSubject(mailSubject);                  return true;                }                catch(Exception e) {                  Config.log.log(e,"设置邮件主题发生错误!");                  return false;                }              }             /**              * @param mailBody String              */              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){                  System.err.println("设置邮件正文时发生错误!"+e);                  return false;                }              }             /**              * @param name String              * @param pass String              */              public boolean addFileAffix(String filename) {                Config.log.log("增加邮件附件:"+filename);             try{                  BodyPart bp = new MimeBodyPart();                  FileDataSource fileds = new FileDataSource(filename);                  bp.setDataHandler(new DataHandler(fileds));                  bp.setFileName(fileds.getName());                  mp.addBodyPart(bp);                  return true;                }                catch(Exception e){                  Config.log.log(e,"增加邮件附件:"+filename+"发生错误!");                  return false;                }              }             /**              * @param name String              * @param pass String              */              public boolean setFrom(String from) {                Config.log.log("设置发信人!");                try{                  mimeMsg.setFrom(new InternetAddress(from));//设置发信人                  return true;                }                catch(Exception e)                {                        Config.log.log(e,"while set mail sender!");                        return false;                }              }             /**              * @param name String              * @param pass String              */              public boolean setTo(String to){                if(to == null)return false;                Config.log.log("设置收信人!"+to);                try{            mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));                  return true;                }                catch(Exception e)                {                        Config.log.log(e,"while set mail reciever!");                        return false;   }              }             /**              * @param name String              * @param pass String              */              public boolean setCopyTo(String copyto)              {                if(copyto == null)return false;                try{            mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto));                  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));                  //transport.send(mimeMsg);                  //Config.log.log("发送邮件成功!");                  transport.close();                  return true;                }                catch(Exception e)                {                  Config.log.log(e,"邮件发送失败!");                  e.printStackTrace();                  return false;                }              }              /**               *  Just do it as this               */              public static void main(String[] args) {                String mailbody = "<html>\r\n<body>\r\n<h3 align=center>网关月分析报表(网关:云南移动 月份:2002-12)</h3>\r\n<table align=center border>\r\n<tr><th width=100>网关ID</th><th width=100>网关名</th><th width=100>收入</th><th width=100>支出</th><th width=100>利润</th></tr>\r\n<tr><td>gw001</td><td>云南移动</td><td>200.00</td><td>100.00</td><td>100.00</td></tr>\r\n<tr><td>gw002</td><td>云南联通</td><td>300.00</td><td>150.00</td><td>150.00</td></tr>\r\n<tr><td></td><td>总计:</td><td>500.00</td><td>250.00</td><td>250.00</td></tr>\r\n</table>\r\n</body></html>\r\n";                sendMail themail = new sendMail("mail.inhand.com.cn");                themail.setNeedAuth(true);                if(themail.setSubject("标题") == false) return;                if(themail.setBody(mailbody) == false) return;                if(themail.setTo("han@inhand.com.cn") == false) return;                if(themail.setFrom("support@inhand.com.cn") == false) return;                //if(themail.addFileAffix("c:\\boot.ini") == false) return;                themail.setNamePass("support@inhand.com.cn","inhand");                if(themail.sendout() == false) return;              }            }

⌨️ 快捷键说明

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