麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

基于 JavaMail 包的郵件發送程序

2019-11-18 13:09:51
字體:
來源:轉載
供稿:網友

  javaMail API 是一個用于閱讀、編寫和發送電子消息的可選包(標準擴展),可以用來建立基于標準的電子郵件客戶機,它配置了各種因特網郵件協,包括SMTP 、POP 、IMAP和 MIME ,還包括相關的 NNTP 、S/MIME 及其它協議。通常開發JavaMail 程序還需要有Sun 的JavaBeans Activation Framework (JAF )。JavaBeans Activation Framework 的運行很復雜,這里簡單的說就是JavaMail 的運行必須得依靠于它的支持,比如JavaMail 利用JavaBeans Activation Framework 來處理MIME 編碼的郵件附件。JavaMail 接口包含在javax.mail 及其子包中,JavaBeans Activation Framework 接口包含在javax.activation 包中,JAF 規范是"Glasgow" JavaBeans 規范的一部分,關于JAF的更多細節,請參考JAF 指南:
  
  http://java.sun.com/beans/glasgow/jaf.Html
  
  核心JavaMail API 由七個類組成:session 、Message 、Address 、Authenticator 、Transport 、Store 及 Folder ,它們都來自javax.mail 、即JavaMail API 頂級包。可以用這些類完成大量常見的電子郵件任務,包括發送消息、檢索消息、刪除消息、認證、回復消息、轉發消息、治理附件、處理基于HTML文件格式的消息以及搜索或過濾郵件列表。有關JavaMail 的更多信息,請參考JavaMail 指南:
  
  http://java.sun.com/PRodUCts/javamail/
  
  類似的用javamail實現的sendmail程序,網上有很多。但筆者發現大都有一點問題。我的code在下面。調式前請確定您的機子已經安裝好JDK1.4 javamial1.3.2 和JAF。假如沒有安裝請按如下步驟安裝:
  
  1 從www.java.sun.com 網站上獲取最新的JDK。然后設置java環境變量。
  
  假如是Win95/98,在/autoexec.bat的最后面添加如下3行語句:
  
  JAVA_HOME=c:/j2sdk1.4.2
  
  PATH=%JAVA_HOME%/bin;%PATH%
  
  CLASSPATH=.;%JAVA_HOME%/lib
  
  看好了CLASSPATH中第一個“.”,這個代表當前目錄,很多人HelloWorld沒有運行起來大多是這個原因。
  
  假如是Win2000或者XP,使用鼠標右擊“我的電腦”->屬性->高級->環境變量
  
  系統變量->新建->變量名:JAVA_HOME 變量值:c:/j2sdk1.4.2
  
  系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%/bin;
  
  系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;
  
  CLASSPATH前面的那個"."和上面的意義是一樣的。
  
  請調式一個helloworld來驗證安裝是否成功?
  
  2 http://java.sun.com/products/javamail/ 下載最新的javamail。
  
  set CLASSPATH=%CLASSPATH%;c:/download/javamail-1.3.2/mail.jar;.
  
  3 http://java.sun.com/products/javabeans/glasgow/jaf.html下載JAF 。
  
  set CLASSPATH=%CLASSPATH%;c:/download/activation/activation.jar
  
  4 ok。終于可以先喘口氣了。 接下來開始程序部分。把if(themail.setTo("########") == false) return;中的#####號改為你自己的郵箱。 再把if(themail.addFileAffix("#######") == false) return; 中#####寫為本地的一個文件路徑。也可空著。為了更多的人學習,請大家不要修改[email protected] 密碼:sendcode 本郵箱只在程序測試中使用!!
  
  然后,在DOS中
  
  javac sendMail.java
  
  java sendMail
  
  呵呵 成功!!!我的主機DOS顯示
  
  D:/>java sendMail
  
  設置系統屬性:mail.smtp.host = smtp.163.com
  
  預備獲取郵件會話對象!
  
  預備創建MIME郵件對象!
  
  設置smtp身份認證:mail.smtp.auth = true
  
  設置郵件主題!
  
  設置郵件體格式
  
  設置收信人
  
  設置發信人!
  
  增加郵件附件:D:/sendMail.java
  
  程序得到用戶名與密碼
  
  正在發送郵件....
  
  發送郵件成功!
  
  ************************************************************
  
  /**
  
  * @author kangkang
  
  * http://corncc.ikdiy.com
  
  * 2005.4.14
  
  */
  
  import java.util.*;
  
  import javax.mail.*;
  
  import javax.mail.internet.*;
  
  import java.util.Date;
  
  import javax.activation.*;
  
  import java.io.*;
  
  public class sendMail
  
  {
  
  // 21-30行把本程序所用變量進行定義。 具體在main中對它們賦植。
  
  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(String smtp)
  
  {
  
  setSmtpHost(smtp);
  
  createMimeMessage();
  
  }
  
  /**
  
  
  * @param hostName String
  
  */
  
  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主機
  
  }
  
  /**
  
  * @return boolean
  
  */
  
  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(); //mp 一個multipart對象
  
  //Multipart is a container that holds multiple body parts.
  
  return true;
  
  }
  
  catch(Exception e)
  
  {
  
  System.err.println("創建MIME郵件對象失敗!"+e);
  
  return false;
  
  }
  
  }
  
  /**
  
  * @param need boolean
  
  */
  
  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");
  
  }
  
  }
  
  /**
  
  * @param name String
  
  * @param pass String
  
  */
  
  public void setNamePass(String name,String pass)
  
  {
  
  System.out.println("程序得到用戶名與密碼");
  
  username = name;
  
  password = pass;
  
  }
  
  /**
  
  * @param mailSubject String
  
  * @return boolean
  
  */
  
  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
  
  {
  
  System.out.println("設置郵件體格式");
  
  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;
  
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av在线试看 | 欧美日韩亚洲国产 | 国产精品久久久久久久久久久久久久久 | 自拍偷拍亚洲图片 | 国产精选电影免费在线观看网站 | 在线免费观看毛片视频 | 国产女同玩人妖 | 成人福利视频在 | 午夜在线观看视频网站 | 精品国产一区二区三区成人影院 | www视频免费在线观看 | 黄色网址在线播放 | 欧美日韩一区,二区,三区,久久精品 | 国产欧美精品综合一区 | 中文字幕一区二区三区四区 | 曰批全过程120分钟免费69 | 成av在线 | 久久久久久久久久久久久久久伊免 | 成年免费在线视频 | 欧美色大成网站www永久男同 | 99麻豆久久久国产精品免费 | 最新黄色电影网站 | 久久久电影电视剧免费看 | 免费观看视频在线 | av91肉丝一区二区电影 | 日韩精品久久久久久久电影99爱 | 87成人免费看片 | 狠狠操电影 | 日本网站一区 | 欧美日韩在线播放 | 亚洲欧美国产高清va在线播放 | 55夜色66夜色国产精品视频 | 精品亚洲综合 | 手机国产乱子伦精品视频 | 黄色高清av | 手机免费看一级片 | 超碰99在线观看 | 成人三级视频网站 | 国产成人在线免费视频 | 久久久久久久一区二区三区 | 欧美精品免费一区二区三区 |