<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評(píng)論 :: 0 Trackbacks
    網(wǎng)上介紹sendmail的文章千百種,很少有跟著做下來(lái)一次成功的。多少都有些說(shuō)的不準(zhǔn)確的地方。我給大家共享一下我經(jīng)過(guò)實(shí)驗(yàn)環(huán)境測(cè)試,完全可行的方法。

    1.軟件準(zhǔn)備

    操作系統(tǒng):centos5.0

    我選擇centos5,最新的操作系統(tǒng),不要再用redhat9了,很久沒(méi)有更新了,企業(yè)里用有風(fēng)險(xiǎn)的。更新?lián)Q代吧。

    以下軟件,centos5全部自帶,無(wú)需另外下載。

    郵件系統(tǒng):
                   sendmail8.13
                   sendmail-cf-8.13
                   m4-1.4

    pop3認(rèn)證:dovecot-1.0

    smtp認(rèn)證:
            cyrus-sasl-2.1
            cyrus-sasl-md5-2.1
            cyrus-sasl-plain-2.1
              cyrus-sasl-lib-2.1

    sasl這里,我要說(shuō)一句,網(wǎng)上有人說(shuō)“sendmail-8.13已經(jīng)包含cyrus-sasl的功能,所沒(méi)必要再安裝cyrus-sasl”
    大 哥大姐們,沒(méi)有cyrus-sasl用什么做認(rèn)證.....sendmail官方只是說(shuō),sendmail的rpm包默認(rèn)已經(jīng)支持了cyrus-sasl 認(rèn)證方式,也就是說(shuō),sendmail會(huì)在cyrus-sasl的工作目錄下自動(dòng)創(chuàng)建相關(guān)認(rèn)證配置文件,并監(jiān)聽(tīng)25號(hào)端口,就不用你去手動(dòng)自己建立配置文 件和監(jiān)聽(tīng)端口了。當(dāng)有請(qǐng)求進(jìn)入25號(hào)端口的時(shí)候,sendmail會(huì)自動(dòng)找到/usr/lib/sasl2/Sendmail.conf讀取認(rèn)證方法。下 面我會(huì)詳細(xì)解釋。

    2.安裝軟件

    rpm -ivh把上面軟件全裝上,都在光盤(pán)里呢,好裝。

    3.認(rèn)證配置

    pop3:

    網(wǎng) 上說(shuō)修改/etc/dovecot.conf文件,將第17行的:#protocols = imap imaps pop3 pop3s的#去掉。其實(shí)不用,它默認(rèn)已經(jīng)啟用了這些服務(wù),除非你只想用dovecot-auth的認(rèn)證,你可以改成protocols = none,否則不用改。

    smtp:
    注意,smtp稍微麻煩一下。

    我講下原理:

    當(dāng)用戶請(qǐng)求進(jìn)入 25號(hào)端口后,sendmail調(diào)用cyrus-sasl的saslauthd進(jìn)程,saslauthd要求對(duì)方輸入本地系統(tǒng)用戶的用戶名和密碼,當(dāng)用戶 輸入好后,saslauthd會(huì)去查找系統(tǒng)的/etc/shadow文件,密碼確認(rèn)無(wú)誤,放行,告訴sendmail,這個(gè)用戶合法,可以使用郵件服務(wù)來(lái) 發(fā)郵件。

    這時(shí)候你去/usr/lib/sasl2/下看看,sendmail已經(jīng)做好了一個(gè)sendmail.conf文件,里面指明了:pwcheck_method=saslauthd,說(shuō)明sendmail認(rèn)證時(shí)就要調(diào)用saslauthd
    所以要實(shí)現(xiàn)上述功能,就要設(shè)置cyrus-sasl的saslauthd,給它指定認(rèn)證方式。
    首先,進(jìn)入/etc/sysconfig/,打開(kāi)saslauthd的腳本,找到第7行的:

    MECH=

    等號(hào)后面不管寫(xiě)什么,我們都要改成:

    MECH=shadow

    保存

    這樣saslauthd才會(huì)去找shadow文件給用戶做認(rèn)證。


    其實(shí)saslauthd還可以用自己的用戶名和密碼數(shù)據(jù)庫(kù)做驗(yàn)證,但這樣不方便,還要另外創(chuàng)建用戶,不如直接用系統(tǒng)自身存在的用戶名和密碼。




    4.Sendmail配置.

    配置郵件服務(wù)器名稱:

    打開(kāi)/etc/mail/local-host-names
    加入你 @后面的郵箱地址。比如我這里是otto@linuxedentest.com
    那么,你要在local-host-names文件里的第二行添加:
    linuxedentest.com
    保存

    當(dāng)然
    local-host-names還可以設(shè)置郵箱別名,這個(gè)不多說(shuō),大家查文檔看看。

    改好后還要去你的dns服務(wù)器上,打上mx標(biāo)志,添加A標(biāo)記,用來(lái)解析dns名和地址。具體方法就要查查bind的設(shè)置方法了,或者win2003的dns設(shè)置方法。


    配置sendmail.mc:

    打開(kāi)/etc/mail/sendmail.mc文件,

    找到:

    dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

    把前面的dnl注釋去掉,變成:

    TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

    上面兩句的意思是:

    放行那些通過(guò)EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式驗(yàn)證的郵件用戶,無(wú)視access文件中的設(shè)置。

    confAUTH_MECHANISMS,確定系統(tǒng)支持的認(rèn)證方式。LOGIN PLAIN 方式下,outlook用的多。


    還不算完,找到:

    dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, )dnl

    改成:

    DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, )dnl

    這樣所有ip地址都可以通過(guò)smtp端口使用我們的郵件服務(wù)器了。


    -----------------------------------------------------------
    這里要說(shuō)一句,不要改

    dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

    這句話!保持注釋狀態(tài)。

    上面那句話,網(wǎng)上好多文章都說(shuō)把Port=submission,改成Port=25,說(shuō)是強(qiáng)制所有用戶在25端口上做認(rèn)證。

    我不知道sendmail以前的版本是怎么樣設(shè)置smtp認(rèn)證的。sendmail8.13不用這么設(shè)置,這句話人家sendmail的意思是:取消注釋后,一旦當(dāng)25號(hào)端口被重定向或者被屏蔽,或者在25號(hào)端口打不開(kāi)的情況下,馬上使用587備用端口給用戶做認(rèn)證。

    本來(lái)人家sendmail就已經(jīng)打開(kāi)了25端口(Port=smtp了已經(jīng)),你卻在這里還Port=25,把備用端口也改成25,這不是讓sendmail的sm-client認(rèn)

    證進(jìn)程和sendmail的主進(jìn)程搶端口么....

    -----------------------------------------------------------


    到此為止,保存sendmail.mc


    用m4重新生成sendmail.cf文件

    # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf


    啟動(dòng)dovecot進(jìn)程:
    /etc/init.d/dovecot start



    啟動(dòng)saslauthd進(jìn)程:
    /etc/init.d/saslauthd start



    啟動(dòng)sendmail進(jìn)程:
    /etc/init.d/sendmail start


    把這些進(jìn)程加入到啟動(dòng)腳本中去:
    chkconfig dovecot on
    chkconfig saslauthd on
    chkconfig sendmail on


    ok,所有設(shè)置全部完成,可以正常認(rèn)證和收發(fā)郵件了。

    本文如有不準(zhǔn)確的地方,請(qǐng)各位海批~~~


    =============================分割線==============================================


                                smtp測(cè)試方法:

    以下sh#表示在shell上輸入;C 為客戶端輸入, S為服務(wù)器端返回信息 。


    sh# telnet <郵件服務(wù)器地址/IP>  <port(一般是25)>

    S : 220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Sun, 18 May 2008 01:55:03 +0800

    C : ehlo <名字> (不帶認(rèn)證功能的是helo +名字)

    S : 250-localhost.localdomain Hello zhangzb.nec-as.nec.com.cn [172.28.90.9], pleased to meet you
    S : 250-ENHANCEDSTATUSCODES
    S : 250-PIPELINING
    S : 250-8BITMIME
    S : 250-SIZE
    S : 250-DSN
    S : 250-ETRN
    S : 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
    S : 250-DELIVERBY
    S : 250 HELP

    C : auth login

    S : 334 VXNlcm5hbWU6

    注:{  下面先輸入username后passwd,兩者需要輸入encode base64碼,轉(zhuǎn)換方法:
    sh# perl -MMIME::Base64 -e 'print encode_base64("username")'
    (注意print前后 是單引號(hào),username 處替換成你需要的單詞)
    }

    C : MQ==  (這是我的用戶名:1)

    S : 334 UGFzc3dvcmQ6

    C : MQ==   (密碼,也是1)

    S : 235 2.0.0 OK Authenticated

    C : MAIL FROM:<XXXX@XXXX> (部分服務(wù)器設(shè)置后,需要真實(shí)的郵箱后綴名,具體方法不詳)

     
    S : 250 2.1.0 <XXXX@XXXX>... Sender ok

     
    C : RCPT TO:<XXXX@XXXX>   (目標(biāo)郵箱)

     
    S : 250 2.1.5 <XXXX@XXXX>... Recipient ok

     
    C : DATA

     
    S : 354 Enter mail, end with "." on a line by itself

    C : 〈這里添郵件內(nèi)容〉
    C :.  (點(diǎn))
     
    S : 250 2.0.0 m4HHt3Sj005640 Message accepted for delivery
     
    C: quit 
    〈mail send successful〉
    posted on 2008-07-24 00:24 seal 閱讀(336) 評(píng)論(0)  編輯  收藏 所屬分類: Linux
    主站蜘蛛池模板: a毛片免费在线观看| 亚洲另类激情综合偷自拍图| 99re免费99re在线视频手机版| 美女被免费网站视频在线| 亚洲AV综合色区无码二区偷拍| 亚洲精品一品区二品区三品区| 国产又大又粗又硬又长免费| 成人在线免费看片| 久久精品中文字幕免费| 美女被免费网站91色| 黄色a级免费网站| 亚洲av永久无码| 亚洲日韩精品A∨片无码加勒比| 亚洲精品美女在线观看| 亚洲AV日韩AV高潮无码专区| 久久亚洲精品视频| 国产成人亚洲影院在线观看| 亚洲成aⅴ人片久青草影院| 午夜国产大片免费观看| 日韩在线a视频免费播放| 久久这里只有精品国产免费10| h片在线免费观看| 亚洲成人免费网站| 巨波霸乳在线永久免费视频| 日韩免费电影网址| 特级无码毛片免费视频尤物| 免费看搞黄视频网站| 免费日本一区二区| 亚洲精品免费视频| 91福利免费视频| 色片在线免费观看| 69成人免费视频无码专区| 成年男女男精品免费视频网站| 日本精品人妻无码免费大全| 成年女人男人免费视频播放 | 亚洲国产成人VA在线观看| 国产在线a不卡免费视频| 一级毛片直播亚洲| 亚洲色婷婷六月亚洲婷婷6月| 亚洲人成精品久久久久| 亚洲四虎永久在线播放|