999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Solaris 10平臺(tái)電子郵件服務(wù)的實(shí)現(xiàn)

2008-12-31 00:00:00
電腦知識(shí)與技術(shù) 2008年31期

摘要:以當(dāng)前流行的開(kāi)源軟件和操作系統(tǒng)為基礎(chǔ),介紹了兩種服務(wù)器端電子郵件服務(wù)的實(shí)現(xiàn)方式。涉及到服務(wù)器配置以及軟件模塊的編寫(xiě)。并分析了不同方式實(shí)現(xiàn)電子郵件服務(wù)的優(yōu)劣。

關(guān)鍵詞:電子郵件服務(wù);Sun Solaris10;Perl;Sendmail

中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)31-0815-02

Implement Email Service on Solaris 10

PAN Lei

(College of Software Engineering,Southeast University,Nanjing 210096,China)

Abstract: This paper introduces two ways to implement Email Service based on Open Source software and Open Source operating system. This paper contains Server configuration and module programming, and analysis the Pros and Cons of the two different approaches.

Key words: mail service; sun solaris10; perl; sendmail

1 引言

隨著互聯(lián)網(wǎng)的越發(fā)普及,各種網(wǎng)絡(luò)應(yīng)用已經(jīng)成為人們辦公和學(xué)習(xí)必不可少的一部分。人們最常用的電子郵件提供了比傳統(tǒng)書(shū)信更加簡(jiǎn)捷、方便、迅速的服務(wù)。其應(yīng)用十分廣泛。各種公文、信件、照片、賀年卡甚至游戲存檔,都被人們用電子郵件寄出。收發(fā)電子郵件已經(jīng)從少數(shù)人使用的時(shí)尚變成了大多數(shù)人日常工作生活的一部分。現(xiàn)在各個(gè)電子郵件服務(wù)提供商都推出了免費(fèi)的大容量電子郵箱,這些優(yōu)惠措施使得電子郵件更加流行。

電子郵件是普通人都使用的東西,而在她背后的電子郵件服務(wù)則不同了,說(shuō)到電子郵件服務(wù),人們常常想到的就是大型服務(wù)器,光纖等等。本文以Sun公司的Unix操作系統(tǒng) Solaris10作為服務(wù)器平臺(tái),使用用sendmail以及Perl模塊實(shí)現(xiàn)企業(yè)級(jí)電子郵件服務(wù),以展示電子郵件服務(wù)的原理。

2 郵件服務(wù)器系統(tǒng)蓋述

通常的電子郵件系統(tǒng),需要用戶(hù)登陸,然后提供給用戶(hù)一個(gè)圖形化用戶(hù)界面,讓用戶(hù)可以瀏覽郵件,撰寫(xiě)郵件。這個(gè)過(guò)程可以由電子郵件客戶(hù)端軟件實(shí)現(xiàn),例如:Microsoft Outlook、Thunderbird等等。大多數(shù)在線郵件收發(fā)用戶(hù)界面是由CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口)實(shí)現(xiàn)的。當(dāng)CGI受到HTTP連接時(shí),返回相應(yīng)的HTML頁(yè)面給用戶(hù)的網(wǎng)頁(yè)瀏覽器,當(dāng)用戶(hù)發(fā)送郵件時(shí),CGI調(diào)用郵件發(fā)送模塊,進(jìn)行電子郵件的發(fā)送。當(dāng)有郵件到達(dá)時(shí),郵件服務(wù)器將用戶(hù)的郵件暫時(shí)存儲(chǔ)在服務(wù)器的硬盤(pán)空間上,以便用戶(hù)下次登陸的時(shí)候?yàn)g覽。

3 應(yīng)用技術(shù)簡(jiǎn)介

本文實(shí)現(xiàn)電子郵件服務(wù)的主要工具和技術(shù)包括Perl模塊,Sun公司的Solaris10操作系統(tǒng),Sendmail核心郵件服務(wù)和相應(yīng)的電子郵件服務(wù)器。下面對(duì)各個(gè)技術(shù)進(jìn)行介紹。

3.1 Perl

Perl 是一種腳本語(yǔ)言,與常見(jiàn)的編程語(yǔ)言不同,腳本語(yǔ)言不需要預(yù)先編譯,而是在運(yùn)行的時(shí)候進(jìn)行解釋。Perl最初只是Unix系統(tǒng)管理員的一個(gè)常用工具,被用在無(wú)數(shù)的小任務(wù)中。但如今,它逐步被廣泛地應(yīng)用于 Web 編程、數(shù)據(jù)庫(kù)處理、XML 處理以及系統(tǒng)管理中。Perl有著強(qiáng)大的regular expression和靈活的語(yǔ)言結(jié)構(gòu)。在Perl中實(shí)現(xiàn)某個(gè)功能常常有多種方式。Perl被所有 Unix(包括Linux)捆綁在一起作為標(biāo)準(zhǔn)部件發(fā)布,就連Windows平臺(tái)下也有Active Perl平臺(tái)。由此可見(jiàn)Perl的優(yōu)良跨平臺(tái)性和兼容性。

3.2 Sun Solaris 10

Solaris 10是一款多任務(wù)處理的分布式企業(yè)級(jí)網(wǎng)絡(luò)操作系統(tǒng),是Unix操作系統(tǒng)的一個(gè)分支,最初運(yùn)行在SUN公司的SPARC系列芯片之上,在2005年被宣布開(kāi)放源代碼。Solaris操作系統(tǒng)一直以穩(wěn)定和強(qiáng)健的性能在Unix服務(wù)器領(lǐng)域占有重要的地位。它有著經(jīng)過(guò)優(yōu)化過(guò)的TCP/IP協(xié)議棧和良好的安全性。美國(guó)國(guó)防部使用的操作系統(tǒng)就是Solaris的一個(gè)分支,更可見(jiàn)其性能的優(yōu)秀。

3.3 Sendmail

Sendmail是Unix/Linux系統(tǒng)中的默認(rèn)郵件傳輸代理(MTA)。Sendmail 的任務(wù)是從郵件用戶(hù)代理 (MUA) 接收郵件然后根據(jù)配置文件的定義把它們送給配置好的的寄送程序。Sendmail 也能接受網(wǎng)絡(luò)連接,并且發(fā)送郵件到本地郵箱或者發(fā)送它到其它程序。Sendmail本身也是開(kāi)源程序。

3.4 SMTP Server

SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制信件的中轉(zhuǎn)方式。SMTP協(xié)議屬于TCP/IP協(xié)議族,它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地。通過(guò)SMTP協(xié)議所指定的服務(wù)器, 就可以把E-mail寄到收信人的服務(wù)器上了,整個(gè)過(guò)程只要幾分鐘。SMTP服務(wù)器則是遵循SMTP協(xié)議的發(fā)送郵件服務(wù)器,用來(lái)發(fā)送或中轉(zhuǎn)用戶(hù)發(fā)出的電子郵件。

4 實(shí)現(xiàn)

本文通過(guò)兩種方式實(shí)現(xiàn)電子郵件服務(wù)

3.1 方式一:使用Solaris的Sendmail應(yīng)用程序

使用Solaris下的Sendmail應(yīng)用程序需要網(wǎng)絡(luò)管理員配置好Mail Server, Mail Host和Mail Gateway。由于Mail Service需要DNS服務(wù),所以,也應(yīng)該在相應(yīng)的服務(wù)器上開(kāi)啟DNS服務(wù)。Mail Server用于保存用戶(hù)的電子郵件,提供信箱功能。Mail Host用于解析電子郵件的地址。Mail Gateway用于將電子郵件發(fā)送到不同于本域的其他地址,在和外部網(wǎng)絡(luò)通訊中是必需的。在小型企業(yè)應(yīng)用中Mail Server, Mail Host, Mail Gateway可以是同一臺(tái)服務(wù)器。圖1給出了通常的電子郵件服務(wù)器的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

在只有一臺(tái)服務(wù)器提供Mail Service時(shí),可以使用/etc/mail/aliases文件作為電子郵件傳送的依據(jù),可以不使用DNS域名服務(wù)。在使用DNS或是LDAP域名服務(wù)時(shí),需要在/etc/hosts文件中提供用戶(hù)主機(jī)、域名信息。此時(shí)/var/mail目錄用于存儲(chǔ)用戶(hù)的郵件,這個(gè)目錄需要被共享以便用戶(hù)進(jìn)行讀寫(xiě)操作。共享該目錄需要服務(wù)器啟動(dòng)NFS服務(wù)。如果希望給Mail Server綁定多個(gè)IP地址,需要設(shè)置虛擬主機(jī)。還可以讓SMTP使用TLS(Transport Layer Security)以提供更安全的電子郵件服務(wù)。

Mail Client端需要掛載服務(wù)器端的/var/mail目錄,并且需要將服務(wù)器信息存在/etc/hosts文件中,這些操作都需要先關(guān)閉Sendmail服務(wù),在操作完成后在開(kāi)啟服務(wù)。Host-name可以用Sun Solaris提供的check-hostname應(yīng)用程序確認(rèn)。[1]

在Sendmail應(yīng)用搭建好后就可以利用Perl程序通過(guò)使用Sendmail以提供電子郵件服務(wù)了。由于Perl可以很快潔的編寫(xiě)CGI因此,通過(guò)Perl調(diào)用Sendmail是可以實(shí)現(xiàn)最有性能的Solaris郵件服務(wù)器。這個(gè)功能可以通過(guò)一個(gè)模塊來(lái)實(shí)現(xiàn)。模塊的輸入是郵件的收信人,郵件的寄信人,郵件的主題,郵件的內(nèi)容( sendEmail(TO Email, From email, SUBJECT of email, BODY of email))。模塊內(nèi)部通過(guò)Perl的文件操作符open將sendmail應(yīng)用程序打開(kāi),$sendmail = ‘/usr/lib/senmail’; open(MAIL,”|$sendmail –oi -t”); 然后利用Perl的print函數(shù)向文件句柄傳入?yún)?shù),例如print MAIL “From:$from\”; print MAIL”Subject:$Subject\”。再用文件操作符close關(guān)閉打開(kāi)的sendmail句柄。Sendmail會(huì)自動(dòng)和Mail Server聯(lián)系,然后將郵件發(fā)送出去。對(duì)HTML電子郵件的支持需要向MAIL句柄的’Content-Type’賦值’text/html;charset=”iso-8859-1”’,如果希望郵件服務(wù)提供抄送、秘密抄送、回復(fù)或是附件功能,只需再增加相關(guān)接口,即可實(shí)現(xiàn)。

3.2 方式二:使用Perl API Mail::Sendmail

第二種實(shí)現(xiàn)方式是采用Perl模塊Mail::Sendmail。需要在www.cpan.org下載,這個(gè)模塊可以拷貝到Solaris下Perl的模塊目錄中被直接使用。這個(gè)模塊是獨(dú)立于Unix Mail Service的,沒(méi)有用到Unix中的Sendmail應(yīng)用程序,它的名字中有Sendmail純屬巧合。它提供的接口和第一個(gè)實(shí)現(xiàn)方式很像,它也提供了抄送和秘密抄送等功能。不過(guò),由于郵件服務(wù)都需要相應(yīng)的SMTP服務(wù)器,這個(gè)模塊也不例外,它需要手工將SMTP服務(wù)器的地址寫(xiě)到sendmail.pm文件或是應(yīng)用程序的配置文件中,可以填寫(xiě)SMTP的服務(wù)器域名,也可以是它的IP地址。不過(guò)這個(gè)模塊不支持SMTP認(rèn)證,所以只能使用不需要SMTP認(rèn)證的電子郵件服務(wù)器進(jìn)行郵件發(fā)送。

這個(gè)模塊需要先被引入項(xiàng)目工程中use Mail::Sendmail,然后需要修改$mail(SMTP)后面的SMTP 服務(wù)器地址。再將相關(guān)參數(shù)用Hash表的形式傳給%mail變量,例如%mail=(To => ‘you@a.com’, From => ‘me@b.com’, Message =>”Message to send”); 然后將%mail作為參數(shù)傳遞給sendmail模塊即可。其他的實(shí)現(xiàn),如抄送、HTML郵件支持和方式一的實(shí)現(xiàn)類(lèi)似。

這個(gè)應(yīng)用也可以寫(xiě)道Perl實(shí)現(xiàn)的CGI中,以提供郵件服務(wù)功能。

4 對(duì)比與總結(jié)

本文介紹的兩種郵件服務(wù)系統(tǒng)實(shí)現(xiàn)方式各有千秋。第一種實(shí)現(xiàn)比較復(fù)雜,第二種則非常快捷。不過(guò),由于現(xiàn)在互聯(lián)網(wǎng)上垃圾郵件橫行,很難找到不需要SMTP認(rèn)證的Mail Host,所以第二種的應(yīng)用很有局限性。不過(guò)在有些情況下,只需要簡(jiǎn)單的郵件功能要求快速開(kāi)發(fā),第二種實(shí)現(xiàn)方式還是值得考慮的。第二個(gè)模塊還有一個(gè)不足,就是由于Perl文件是動(dòng)態(tài)翻譯的,所以所有數(shù)據(jù)都存在內(nèi)存里,當(dāng)應(yīng)用程序使用者很多的時(shí)候,不適于發(fā)送大的附件。對(duì)比第二種實(shí)現(xiàn)方式,第一種方式則可以廣泛使用各種情況。實(shí)際上,各大電子郵件提供商使用的也都是第一種實(shí)現(xiàn)方式。不過(guò)第一種方式需要額外的網(wǎng)絡(luò)管理員的參與,還牽扯到大量的網(wǎng)絡(luò)配置、服務(wù)器配置工作,不適用于小型項(xiàng)目和小規(guī)模公司的應(yīng)用。

本文涉及到的兩種郵件服務(wù)實(shí)現(xiàn)方式都被應(yīng)用于Ericsson軟件開(kāi)發(fā)部門(mén)的接口變更管理工具中。實(shí)現(xiàn)的功能穩(wěn)定可靠。

參考文獻(xiàn):

[1] Solaris System Administration Guide:Network Services[DB].Sun Microsystems,Inc.

[2] Allam E,Assmann C,Shapiro G N.Sendmail Installation and Operation Guide[DB].Sendmail Inc,Version8.708.

[3] Phoenix T,Randal L Schwartz,Learning Perl[M].3rd ed.O’Reilly,2001.

[4] Christiansen T,Torkington N.Perl Cookbook[M].O’Reilly,1998.

[5] Sun Solaris Online Documentation[DB].Sun Microsystems,Inc.

主站蜘蛛池模板: 久爱午夜精品免费视频| 亚洲中文字幕国产av| 中文一区二区视频| 日韩天堂视频| 亚洲一级毛片免费观看| 欧美另类精品一区二区三区| 久久人人97超碰人人澡爱香蕉| 久久综合激情网| 乱系列中文字幕在线视频| 欧美天堂久久| 2019年国产精品自拍不卡| 日韩色图区| 亚洲激情99| 国产亚洲欧美另类一区二区| 制服丝袜一区| 国产综合精品日本亚洲777| 天天激情综合| 黄色国产在线| 国外欧美一区另类中文字幕| 不卡国产视频第一页| 欧美精品1区2区| 亚洲精品国产综合99久久夜夜嗨| 亚洲欧美不卡视频| 国产网友愉拍精品视频| 亚洲成人一区二区| 一级毛片高清| 亚洲精品无码抽插日韩| 国产麻豆aⅴ精品无码| 曰韩免费无码AV一区二区| 99国产精品一区二区| 亚洲成人网在线观看| 亚洲欧美日韩动漫| 亚洲无卡视频| 一本大道无码日韩精品影视| 亚洲不卡无码av中文字幕| 亚洲人成网址| 97人妻精品专区久久久久| 色天天综合久久久久综合片| 无码国产伊人| a免费毛片在线播放| 久久精品一品道久久精品| 亚洲性影院| 91在线免费公开视频| 精品国产自在现线看久久| 亚洲一区网站| 精品国产免费观看一区| 色亚洲成人| 在线五月婷婷| jizz在线观看| jijzzizz老师出水喷水喷出| 欧美一级特黄aaaaaa在线看片| 伊人久久福利中文字幕| 亚洲色图欧美| 成人一区在线| 国产美女在线观看| 毛片在线播放网址| 香蕉eeww99国产精选播放| 91久久国产成人免费观看| a在线观看免费| 黄色网站不卡无码| 精品久久久无码专区中文字幕| 日韩性网站| 国产又粗又猛又爽| 一级毛片基地| 色欲不卡无码一区二区| 亚洲国产午夜精华无码福利| 日韩国产高清无码| 999国产精品| 在线国产毛片| 国产男女XX00免费观看| 成人午夜亚洲影视在线观看| 亚洲精品第1页| 国产精品9| 五月激情综合网| 国产性生交xxxxx免费| 午夜精品一区二区蜜桃| 国产一线在线| 99er这里只有精品| 欧美19综合中文字幕| 国产成人精品一区二区不卡| 好吊色妇女免费视频免费| 色偷偷男人的天堂亚洲av|