• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用redhat8.0自帶的sendmail+sasl配置郵件服務器

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    一直也沒有用過redhat8.0,好多網友都說他的sendmail配置有點問題。今天終于安裝了一次redhat8,感覺還可以。 我也配置了一下,要是簡單配置,和redhat7.2沒什么太大區別。當然了,我是說他的最簡單配置。 redhat8默認安裝的是sendmail8.12.5. 我的系統安裝時

    一直也沒有用過redhat 8.0,好多網友都說他的sendmail配置有點問題。今天終于安裝了一次redhat 8,感覺還可以。

    我也配置了一下,要是簡單配置,和redhat7.2沒什么太大區別。當然了,我是說他的最簡單配置。

    redhat8默認安裝的是sendmail8.12.5.
    我的系統安裝時,選擇的是custom,sendmail默認安裝。
    設置你的nds server,我的域名是webmail.readchina.com
    添加一條MX紀錄@  IN MX 10 webmail.readchina.com.

    安裝完系統后,我通過x-windowns看到系統設置--mail transport agent switcher,默認是postfix,我選著了sendmail作為郵件傳輸代理。
    開始安裝:
    一、首先,要生成sendmail.cf文件,一般是編譯sendmail.mc來生成sendmail.cf,這樣的好處是通過編譯,會查看出一些sendmail的設置錯誤和漏洞。
    # cd /etc/mail
    # vi sendmail.mc
    divert(-1)
    dnl This is the sendmail macro config file. If you make changes to this file,
    dnl you need the sendmail-cf rpm installed and then have to generate a
    dnl new /etc/mail/sendmail.cf by running the following command:
    dnl
    dnl        m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    dnl
    include(`/usr/share/sendmail-cf/m4/cf.m4')
    VERSIONID(`linux setup for Red Hat Linux')dnl
    OSTYPE(`linux')
    dnl Uncomment and edit the following line if your mail needs to be sent out
    dnl through an external mail server:
    dnl define(`SMART_HOST',`smtp.your.provider')
    define(`confDEF_USER_ID',``8:12'')dnl
    undefine(`UUCP_RELAY')dnl
    undefine(`BITNET_RELAY')dnl
    dnl define(`confAUTO_REBUILD')dnl
    define(`confTO_CONNECT', `1m')dnl
    define(`confTRY_NULL_MX_LIST',true)dnl
    define(`confDONT_PROBE_INTERFACES',true)dnl
    define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
    define(`ALIAS_FILE', `/etc/aliases')dnl
    dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl
    define(`UUCP_MAILER_MAX', `2000000')dnl
    define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
    define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
    define(`confAUTH_OPTIONS', `A')dnl
    TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    DAEMON_OPTIONS(`Port=25,Name=MTA')dnl
    DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl
    dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')
    dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
    dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
    dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
    dnl define(`confTO_QUEUEWARN', `4h')dnl
    dnl define(`confTO_QUEUERETURN', `5d')dnl
    dnl define(`confQUEUE_LA', `12')dnl
    dnl define(`confREFUSE_LA', `18')dnl
    define(`confTO_IDENT', `0')dnl
    dnl FEATURE(delay_checks)dnl
    FEATURE(`no_default_msa',`dnl')dnl
    FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
    FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
    FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
    FEATURE(redirect)dnl
    FEATURE(always_add_domain)dnl
    FEATURE(use_cw_file)dnl
    FEATURE(use_ct_file)dnl
    dnl The '-t' option will retry delivery if e.g. the user runs over his quota.
    FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
    FEATURE(`aclearcase/" target="_blank" >ccess_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
    FEATURE(`blacklist_recipients')dnl
    EXPOSED_USER(`root')dnl
    dnl This changes sendmail to only listen on the loopback device 127.0.0.1
    dnl and not on any other .network devices. Comment this out if you want
    dnl to accept email over the network.
    dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
    dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires
    dnl       a kernel patch
    dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')
    dnl We strongly recommend to comment this one out if you want to protect
    dnl yourself from spam. However, the laptop and users on computers that do
    dnl not have 24x7 DNS do need this.
    dnl FEATURE(`accept_unresolvable_domains')dnl
    dnl FEATURE(`relay_based_on_MX')dnl
    MAILER(smtp)dnl
    MAILER(procmail)dnl
    Cwlocalhost.localdomain
    其中:
    1、2是我打開注解的,是打開相應的認證機制,主要是為了支持outlook
    3、4是我添加的,設置相應的mta and msa的所用端口。
    5、6要注掉。
    1、TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    2、define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    3、DAEMON_OPTIONS(`Port=25,Name=MTA')dnl
    4、DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl
    5、dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
    6、dnl FEATURE(`accept_unresolvable_domains')dnl
    最后保存。
    二、編譯sendmail.mc 生成sendmail.cf文件
    # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
    #/etc/rc.d/init.d/sendmail restart   --重起sendmail服務。
    三、檢測編譯結果。
    1、檢測SASL被編譯到sendmail中。
    #/usr/sbin/sendmail -d0.1 -bv root |grep SASL
    輸出類似如下:
    NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
    保證你看到SASL就是正確的。
    2、檢測25端口:
    # telnet localhost 25
    Trying 127.0.0.1.....
    Connected to localhost (127.0.0.1).
    Escape character is '^]'.
    220 webmail.readchina.com ESMTP SENDMAIL 8.12.5/8.12.5;THU,13 FEB 2003.19:12:59 +0800
    EHLO localhost   --打個招呼
    250-webmail.readchina.com hello localhost [127.0.0.1],pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-PIPELINING
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ETRN
    250-AUTH GSSAPI LOGIN PLAIN
    250-DELIVERBY
    250-HELP
    quit   ---退出
    只要輸出有LOGIN PLAIN就OK!了,不然,就不能relay mail.
    到這里,sendmail就配置完了,你可以天天加一個用戶試試看。
    郵件用戶是系統用戶.
    #useradd -d /home peng peng
    #passwd peng   ----設置密碼
    設置你的foxmail or outlook,要設置上用戶需要smtp認證。
    有的網友說,必須把你的域名添加到/etc/mail/local-host-names中,我沒有添加,也可以發送。我英

    為是在局域網中測試,發信沒問題,不知道收信有沒有問題。你最好加上吧。當你要支持虛擬域時,必

    須都要加上的。
    四、pop3安裝。
    redhat8.0中有它的rpm包,是imap-2001a.15.rpm
    # rpm -ivh imap-2001a.rpm
    #/etc/xinetd.d/ipop3
      disable =no
    #/etc/rc.d/init.d/xinetd restart   --重起pop3服務
    #telnet localhost 110
    Trying 127.0.0.1...
    Connected to localhost (127.0.0.1)
    Escape character is '^]'
    +OK POP3 localhost v2001.78rh server ready
    quit   ---退出
    有以上顯示,為正確。

    五、其他設置。
    要想更好的使用sendmail,常用到的一些設置:
    1、限制最大郵件。
     vi /etc/sendmail.cf
    # maximum message size
    O MaxMessageSize=5000000    (注:5M)
    2、最大的群發數目。
    vi /etc/sendmail.cf
    # maximum number of recipients per SMTP envelope
    O MaxRecipientsPerMessage=20  (注:20個)
    3、域名文件----local-host-name
    可以用他來實現虛擬域名或多域名支持。
    /etc/mail/local-host-name
    v1mail.com
    v2mail.com
    .......
    4、mail別名文件--aliases。
    vi /etc/aliases
    系統內部別名:peng:zpeng,hero,mmmn,yt   peng是我的用戶名,其他的是別名,用逗號隔開。
    轉發到其他的郵箱:peng:zpeng@sina.com,yt.sohu.com
    #newaliases   --寫到庫中
    5、郵件控制文件--access
    relay、ok、reject和discard。relay可以實現轉發。ok是用來允許用戶的任意訪問,它會覆蓋任何其它已建立的檢查(實際設置中,最好別設這項,除非你對該用戶是絕對信任的);reject可以實現對來訪地址的拒絕,它根本就不容許該地址與你的郵件服務器進行連接通信;discard的作用是在接收到傳輸的郵件消息后,偷偷地把它丟棄掉(在發送者看來,他的郵件的確是接收了,但他并不知道,發送的目的地址根本不可能接收到他的郵件,服務器巧妙地欺騙了他。
    vi /etc/mail/access.

    localhost.localdomain    RELAY      ---允許
    localhost                        RELAY
    127.0.0.1                       RELAY
    peng@sina.com              ok
    @sexgirl.net                   reject
    211.77.22.45                  discard

    #makemap hash access.db < access --寫道庫中

    6、虛擬用戶文件---virtusertable.
    這個文件可以mail重名問題。
    例如:你有兩個域名,virt1.com and virt2.com,但是都有peng這個用戶:
    peng@virt1.com and peng@virt2.com,這是兩個用戶。但對于系統用戶來說,他只認系統用戶peng,只能通過一下改:
    vi /etc/mail/virtusertable
    peng@virt2.com   r010
    這樣就可以了。在新開一個用戶r010,但是peng@virt2.com在客戶端的pop3 and smtp server的用戶名和口令要用r010的。
    #makemap hask virtusertable.db < virtusertable


    sendmail.cf and /etc/mail/*的一些設置和用途,明天再寫吧,已經下班了,我要回家看《足球之夜了》了。:)

     bingbing 回復于:2003-02-17 13:12:41
    嘻嘻,鼓勵一下了^_^

     akie 回復于:2003-02-28 03:28:28
    用telnet 主機名(域名) 25 測試行嗎?

     akie 回復于:2003-02-28 03:28:43
    用telnet 主機名(域名) 25 測試行嗎?

     peng 回復于:2003-02-28 09:27:35
    可以啊,但首先是做好dns解析。

     oceanb0y 回復于:2003-03-01 15:30:02
    也是SASL+SENDMAIL
    按照你的步筑
    到這里時
    [root@fbing root]# telnet localhost 25
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 localhost.localdomain ESMTP Sendmail 8.11.6/8.11.6; Fri, 28 Feb 2003 06:02:34 -0500
    ehlo localhost
    250-localhost.localdomain Hello fbing [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250-SIZE 50000
    250-DSN
    250-ONEX
    250-ETRN
    250-XUSR
    250-AUTH LOGIN PLAIN
    250 HELP
    我還以為是肯定成功了,我隨后試了一下, 發現原來smtp server reply 500 5.7.0 authentication failed
    還有我的是這個:
    [root@fbing root]# /usr/sbin/sendmail -d0.1 -bv root |grep SASL
                    NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS QUEUE SASL SCANF
    真的是搞不懂了啊,昏倒@@

     lugyin 回復于:2003-03-13 17:28:28
    遇到了同樣的問題,暈啊
    是不是pwcheck時,還有什么問題嗎?

     peng 回復于:2003-03-14 13:58:30
    to oceanb0y and  lugyin  :你用的什么收發信???是outlook or foxmail嗎?
    你要在你的客戶端軟件上啟用smtp 認證選項??!
    你們選上了嗎?

     lugyin 回復于:2003-03-14 17:06:28
    感謝peng兄
    我的問題已經找到了是/usr/lib/sasl/Sendmail.conf的文件名中的S沒有大寫,問題已經解決

     tony_list 回復于:2003-04-06 10:26:48
    我是在redhat8.0下編譯Sednmail,按你的方法作的,設置好了后,當編譯sendmail.m4文件時,
    # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
    卻提示:
    NONE:0: m4 : ERROR: EOF or staring

    請問是不是編譯的問題?應該如何解決?
    先謝了,又哪位仁兄知道的話,還請盡快回復一下,解決不了,我吃不下飯,睡不著覺。

     ilovewalk 回復于:2003-04-07 00:08:02
    我以前也遇到過你這種問題,是不是你的sendmail.mc文件沒有配置對落,以前我左右引號沒有寫對,就會報這種錯,你再看看sendmail.mc文件吧?。?!

     tony_list 回復于:2003-04-07 09:25:38
    就是這個問題,謝謝你呀,ilovewalk兄。

     dongzzd 回復于:2003-04-07 21:42:26
    問一下樓上的朋友,我在用m4 sendmail.mc > senmail.cf 時提示我沒這個命令.我是個初學者,請大哥指教,我應該再安裝個什么軟件包,才能使用這個命令謝謝!

     peng 回復于:2003-04-08 11:54:22
    [quote:34a87ef665="dongzzd"]問一下樓上的朋友,我在用m4 sendmail.mc > senmail.cf 時提示我沒這個命令.我是個初學者,請大哥指教,我應該再安裝個什么軟件包,才能使用這個命令謝謝![/quote:34a87ef665]
    你沒有安裝sendmail-cf.*.rpm文件,光盤上有。

     jfcat 回復于:2003-04-25 17:49:07
    感謝 peng ,又學到一手
    一切成功,就是從sina.com發過來的收不到
    痛!!!!!!!!!!!!!!

     haitao431 回復于:2003-04-29 09:54:45
    我剛學習郵件服務器的配置  按照各位老師的方法  可以向外發郵件
    我給 163,sohu發了都可以正常接收,但我遇到了一個大問題
    每次重啟后我原先的配置都失效了需要重新編譯,然后重啟endmail服務
    然后就又可以了不知為什么
    請各位大蝦指導   謝謝

     peng 回復于:2003-05-01 21:35:12
    不應該阿,是不是你的機器有問題阿?

     a791223 回復于:2003-09-18 20:58:36
    為什么我的外發郵件時可以發出去但是很快又彈回來提示如下錯誤
    The original message was received at Thu, 18 Sep 2003 17:40:50 +0800
    from [192.168.0.45]

       ----- The following addresses had permanent fatal errors -----
    <it@hoau.net>
        (reason: 553 5.3.5 system config error)

       ----- Transcript of session follows -----
    553 5.3.5 mail.hoau.net. config error: mail loops back to me (MX problem?)
    554 5.3.5 Local configuration error
    451 4.0.0 hash map "Alias0": unsafe map file /etc/aliases.db: Permission denied

     hk007 回復于:2004-04-27 22:07:59
    彭大俠:
        我按照您的帖子做了設置,我的環境是RedHat9.0的,經過測試:
    $ telnet localhost 25
    ........
    250-ENHANCEDSTATUSCODES 
    250-PIPELINING 
    250-8BITMIME 
    250-SIZE 
    250-DSN 
    250-ETRN 
    250-AUTH GSSAPI LOGIN PLAIN 
    250-DELIVERBY 
    250-HELP 
    測試結果和您所描述的完全一樣,收發郵件也正常。但是認證的功能就是不起作用。我在Outlook Express的服務器配置中選中我的服務器需要認證,sendmail服務器就認證,不選該選項的話sendmail就不加認證也照樣轉發郵件。我試過從一臺其他的機器上telnet到sendmail服務器的25端口,直接用命令行發送郵件,而且用的用戶是sendmail服務器上根本沒有的帳戶,它也給我轉發了,就是不報錯。我在日志文件/var/log/maillog中也沒有看到任何有關認證的信息,也沒有錯誤信息??磗endmail官方網站上說可以調整sendmail的日志級別LogLevel,但是不知道如何操作。
    # sendmail -LogLevel=13好像有問題。

    急切盼望您的建議。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>