使用SQL Server管理IMail郵件帳號

來源:互聯網
上載者:User

         iMail是一種非常優秀的基於win平台的mail server程式,在中小型應用中受到廣泛的歡迎。
         iMail有三種使用者資料介面方式: 
              ·預設:存放於系統註冊表中。
        ·系統帳號:使用者資料依賴於nt/2000使用者管理
              ·外部資料方式:以ODBC介面方式串連的外部資料庫方式
         如果想使用編程的方式管理IMail郵件帳號,可採用外部資料庫方式管理郵件帳號。下面討論使用SQL Server管理IMail帳號的方法。
        在使用外部資料庫之前,需要現在控制台中建立一個系統資料來源DSN(Data Source Name)。這個DSN指向一個SQL Server資料庫,資料庫名和DSN名字可任取,比如IMAILDB。需要注意的是,必須使用TCP/IP具名管道以確保正確使用。
        配置好資料來源後,就可以使用這個DSN所指資料庫的建立一個郵件域。
                1. 在IMail Administrator中,右擊localhost,選擇 Add Host
                2. 跳過歡迎頁面,輸入一個Domain Name
                3. 選擇使用External Database,點擊Configur,出現External User Database對話方塊
       IMail使用一個動態連結程式庫DLL串連外部資料庫。IMail內建了一個樣本性DLL檔案ODBCUSER.DLL,這個DLL使用ODBC方法訪問資料,但是使用者也可以自己開發DLL使用其他方法訪問外部資料庫,這個自訂的DLL需要實現GetUserEntry, SetUserEntry, DeleteUserEntry, AuthorizeUser, GetFirstUserEntry, GetNextUserEntry等方法。可以從inswitch.com下載ODBCUSER.DLL的原始碼和介面。
        在External User Database對話方塊中,在External Database Impementation DLL輸入ODBCUSER.DLL(或自訂DLL)的完全路徑,ODBC System Data Source Name中輸入實現建立的DSN的名字。需要注意的是,在SQL Server 7.0以上版本中,在DSN域中需要同時指定DSN的串連使用者名稱和密碼DSN_NAME;UID=<username>;PWD=<password>。在Table Name中輸入要建立的郵件使用者表的名字。如果保持[default]預設值,則IMail會自動以郵件域的名字作為表名。
        點擊OK,IMail會自動在DSN指定的資料庫中建立一個郵件帳號表。這個表具有如下的結構:       

     USERID - varchar(31)...........使用者名稱 
  PASSWORD - varchar(31).........密碼 
  FULLNAME - varchar(63).........全名 
  USERDIR - varchar(255).........使用者目錄 
  MAILADDR - varchar(255)........郵件地址(如abc@my.com) 
  MAXSIZE - integer..............最大郵件大小 
  MAXMSGS - integer..............最大訊息大小 
  FLAGS - integer 
  TYPE - integer 
  NUMTRIES - integer 
  ATTEMPTTIME - integer 
  NUMTIMESSUSP - integer 
  LASTLOGIN - integer 
  SPNDUSRACCT - integer 
  ICALENBL - integer 
  SPELLENBL - integer 
  NUMSGSTNS - integer 
  IWDEPTH - integer 
  IWOPTIONS - integer 
  SPELLCHKG - integer 
  PRVWSIZE - integer 
  DEFVIEW - varchar(40) 
  TIMEZONE - varchar(255) 
  STRTDAY - integer 
  DEFCALNM - varchar(40) 
  ENTRYGRNL - integer 
  STARTTIME - integer 
  ENDTIME - integer 
  MAXEVNTDISP - integer 
  MAXTSKDISP - integer 
  MAXNOTEDISP - integer 
  MAXDLYRCURCNT - integer 
  MAXWKLYRCURCNT - integer 
  MAXMONRCURCNT - integer 
  MAXYRLYRCURCNT - integer 
  DISPCMPLTDTSKS - integer 
  HOURSCLOCK - integer 
  MAXSRCHRESPPG - integer 
  MAXEVENTTITLELEN - integer 
  MAXTASKTITLELEN - integer 
  CONFIRMONDELETE - integer 

        好了,現在IMail的郵件帳號由SQL Server管理了。以後,可以通過IMail Administrator添加使用者帳號,也可以直接在SQL Server中加入使用者帳號。這樣,就可以通過編程的方式自動建立使用者帳號了。只需要兩步:
        1.為郵件伺服器上使用者帳號建立郵件存放目錄
        2.在SQL Server的資料表中添加使用者帳號記錄。可以直接插入記錄,也可以使用預存程序。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.