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

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

  • <strong id="5koa6"></strong>
  • 關于sendmail的FAQ.

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    由于論壇問的sendmail問題有很多重復的,所以寫了這個帖子。希望大家查找方便。 由于本人技術、精力有限,對sendmail也沒有作過太深入的研究。只是以前經常使用,對配置熟一些,希望能在這里起到拋磚引玉的作用。 其實free的版本的sendmail沒什么太多的工具

    由于論壇問的sendmail問題有很多重復的,所以寫了這個帖子。希望大家查找方便。
      由于本人技術、精力有限,對sendmail也沒有作過太深入的研究。只是以前經常使用,對配置熟一些,希望能在這里起到拋磚引玉的作用。
    其實free的版本的sendmail沒什么太多的工具,所有的工具都要自己開發,不好討論了。這里我們我們主要討論兩方面MTA和webmail,webmail方面我認為最適合的是openwebmail了。
    其他方面東西,希望斑竹老大能給給予整理。

      首先,建議要配置sendmail的朋友,最好看看著幾篇文章。
    sendmail的配置文章,帶sasl認證的,心余寫的:
    http://www.chinaunix.net/forum/viewtopic.php?t=47662
    我以前寫的,關于sendmail+openwebmail的文章,其中openwebmail。1。65可能有點老了,但可以參考:
    http://www.chinaunix.net/bbsjh/1/3395.html
    關于openwebmail對最新版本的文章,這個是必須要看的?。?
    http://openwebmail.org/openwebmail/doc/readme.txt
    以上推薦的文章,我都親自配置過多次,均獲得成功。
    下面FAQ的具體內容,我會不停的整理和更新,也希望大家共同維護。

    第一部分:MTA配置:

    前言
       sendmail作為一個優秀的MTA,一直是UNXI系統中缺省的郵件服務器。在UNIX中,應用程序是和配置文件分開的放置的。就sendmail而言,sendmail的程序是一般放在/usr/sbin目錄下(不同的版本UNIX版本路徑可能有所不同),而配置文件是放在/etc或者/etc/mail中(不同的版本UNIX版本路徑可能有所不同),在sendmail v8.9以后,sendmail增加了一個宏編譯文件/sendmail.mc,通過在宏編譯文件中加一些選項,再經過編譯就可以得到一個sendmail.cf的配置文件,極大的方便了用戶。


    1、怎樣編譯生成sendmail.cf文件?
    a:redhat7.0的版本,
    # m4 /usr/share/sendmail-cf/cf/redhat.mc > /etc/sendmail.cf
       redhat7.2以上:
    # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 
       如果提示沒有發現命令,是沒有安裝sendmail-cf-*文件包。
       redhat光盤中有rpm包,可以直接安裝。其他版本,download相應的軟件包安裝。


    2、sendmail如何做能支持POP3?
    a:sendmail本身不支持pop3服務,你要安裝相應的ipop3服務軟件。
     這里以redhat8為例,找到安裝光盤中的imap*.rpm文件。
     # rpm -ivh imap*.rpm
     # vi /etc/xinetd.d/ipop3
     更改 disable=yes 為 no
     # /etc/rc.d/init.d/xinetd restart

    3、如何饒過firewall的屏蔽。
     vi /etc/mail/sendmail.mc
     Feature ('accept_unresolvable_domains') 
    添上這一句,就可以傳遞那些域名不能從你的郵件服務器所在主機解析的郵件。當郵件在防火墻里面時,必須使用這個特性。否則有些郵件不可到達。使用這個特性后,sendmail就不會直接去試圖解析那些郵件地址,而是把郵件轉發到上一級郵件服務器,讓其去轉發,就可以饒過防火墻屏蔽。

    4、sendmail使用的用戶賬號是系統的 ,這些用戶的login shell定義的是no shell(email only),如何讓用戶自己修改密碼?是不是要改用其他的操作系統和軟件才能實現??? 
    多謝指點?。?!
    a:不用啊,可以自己編寫一個shell,給mail user用。 
    例如: 
    1、更改密碼 
    2、刪除信件。 
    3、退出。 
    具體你要自己編寫。 
    也可以編寫一個web方式的,來更改密碼。 
    實在不行,在裝一個webmail,通過她來更改密碼。例如:openwebmail。
    當然,可以從中分離出更改密碼的頁面。

    5、本機上可以telnet ip address 25和110端口,但是客戶端不行,提示連接失敗,為什么?   
    xingplayer: 
    a:看看防火墻是不是打開了,關閉掉或者設置打開25或者110端口。
       或者是這個原因, sendmail.cf文件中有一個選項: 
    O DaemonPortOptions 


    edit /etc/sendmail.cf 
    找到: 
    # SMTP daemon options 
    O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 
    添加: 
    # SMTP daemon options 
    O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA 
    保存! 


    這樣就能夠解決問題

      
    6、如何建立一個mail 的dns記錄:
     mail    IN A   192.168.2.11   --你的mail主機地址。
     @       IN MX   10   mail     ---建立你的mx記錄,郵件等級為10。

    7、請教高手,我想知道在Linux下怎樣查看和刪除當前郵件隊列?
    a:查看:
      #mailq |more  ---看到的是超過正常時間限制的信件
      #ls /var/spool/mqueue  --隊列中所有的信件。
       刪除:
      # rm -rf /var/spool/mqueue/*

    8、公司內部使用的是Exchange郵件系統?,F在希望使用一臺linux server來作對外的mail relay.以減輕E2k的負擔。應該怎樣作? 
    我現在用sendmail作對外的relay是沒有問題了。但是對于收信,我不清楚怎樣配置。 
    我不明白,一臺server怎樣同時制定不同的規則,因為外發/內送的規則是截然不同的.因為: 
    OUtbound: 來源 指定主機(指定@domain) 目標: all host,all domain to internet (這個我東拼西湊,總算基本可以實現,就使用access文件) 

    Inbound: 來源 All host,all domain internet 目標:@intra.com.cn 

    這樣兩個完全衝突的規則,如何在一個service 的配置中實現? 
    我實在是很困惑,還請各位指教指教.
    a:其實我個人覺得,你用了liunx下的sendmail,完全可以替代了exchange,我的一臺PIII500,256sdrom,18G的compaq pcserver,我總共10000左右用戶,是以前isp做的mail server,100多個公司,也就是100多個虛擬域名。使用率很高,但是當時不提供webmail服務。工作性能良好,從沒出現超負荷情況。 

    如果你非得要做的話,有一個解決方法。 
    首先,sendmail 要裝smtp服務,不要裝pop3服務了。 exchange都要裝smtp and pop3服務。 
    在dns server中設置: 
    smtp IN A sendmailhost ip address 
    pop3 IN A exchangehost ip address 
    @ IN MX 10 pop3 
    理論分析: 
    首先是發信,你的用戶給外面的發信,用的smtp服務器是sendmail的主機地址,實現了你的作對外的mail relay。外面的給你的郵件和你公司員工互相發的郵件,在smtp server之間,查找的是mx紀錄,而不是A紀錄,所以,就發到了pop3主機上,也就是你的exchange主機。還有的是通過你的用戶有別名的,到了你的exchange主機上,還要relay,所以,exchange的主機也要啟動smtp,但是,它只是很少的轉發,沒有太大的流量。這樣,就應該實現了你的要求。 

    這樣的結果就是smtp and pop3服務分開了。sendmail負責mail relay,exchange 負責pop3 和別名轉發。 
    你要是還要exchange負責發給不的信件,在server端設置,就麻煩了。你可以用foxmail,在客戶端設置。但是要是公司人多,也非常麻煩。 
    還不如我說的,實現smtp and pop3分開,無傷大局。 
    不知道可不可以實現你的要求。:)
    9、設置了access,為什么不生效?
    a:首先,你要正確配置/etc/mail/access。還要看你的/sendmail.cf文件中的對access的定義。
    access-db
    Feature(`access_db','hash /etc/mailaccess') 
    Feature(`access_db','dbm /etc/mailaccess') 
    第一種,是要生成哈希表形式的庫文件
    要運行:
    # makemap hash /etc/mail/access.db < /etc/mail/access
    第二種,是傳統的數據庫格式。
    運行:
    # makemap dbm /etc/mail/access.db < /etc/mail/access

    10、我在我們局域網配置了個mail服務器,出現這樣一個問題。請大家幫忙: 
    我輸入smtp,pop3輸入我機器的ip地址沒有問題,但輸入我的DNS主機器名,就 
    不能進行收發mail. 
    我問過別人,他說是DSN的配置問題,我通過xwindows配置的,感覺很簡單,那里有錯呢? 
    牽扯到DSN的就是: 
    主機器名:test.com 
    主DNS:我機器的ip地址 
    域名:test.com 
    不清楚那里錯了,請大家這點。多謝!
    a:首先,保證你的dns server設置正確。 
    其次,你還要清楚,你在局域網中測試。你的域名test.com不是合法的。 
    正常的dns server是解析不到的。 
    你要用主機名和域名測試,要保證客戶機使用的dns server要用給你的mail server作解析的dns server保持一致。這樣,按照dns server的工作原理,才能給你的可戶機作正確的解析。 
    有的時候還要reboot客戶主機,或直接清除你的cache,才可以的。

    11、我想給郵件服務器上的所有mail用戶發新,或給其中指定的很多用戶發信,怎么解決???
    a:建立別名文件,也就是做群發啊。
    看你的sendmail.cf或者sendmail.mc文件中,應該有定義。
    具體操作:
    1、編輯系統別名文件,添加一個虛擬用戶alluser。
    #vi /etc/aliases
    alluser::include:/etc/mail/alluser
    2、重新生效一下。
    #newaliases
    3、編寫用戶文件,格式是每一行一個用戶名。用戶名是你公司所有員工的用戶名或者你想要轉發的用戶。
    vi /etc/mail/alluser
    peng
    gadfly
    tiantian
    。。。。
    。。。
    到著,就應該ok了,應該不用重起sendmail進程。

    12、我想對我公司的內部的LINUX9。01郵件服務器(sendmail )進行遠程控控制 (包括加用戶,系統開關機等)為什么在外面不能用root 用戶登陸系統啊。 是不是把普通用戶的權限改成系統管理員的權限就可以啊。從那個地方進行修改啊。 目地是對LINUX郵件服務器進行遠程控制。 

    a:telnet服務默認是不支持root直接登陸的,ssh可以的。但是不提倡,這種習慣不好。。。

    13、先用普通的用戶登進去, 再用SU然后輸入ROOT的密碼可以進入到: 
    可以實現關機。重新啟動功能,但還是不能加、刪除用戶。怎樣才能實現添加、刪除用戶的功能呢???

    a:應該是: 
    $su - 
    只輸入su,是轉換了root的uid,但是沒有加載環境變量。 
    用su -,就加載了環境變量。 
    你用su,添加用戶就要寫全命令路徑!



    第二部分,webmail:

     netloafer 回復于:2003-06-20 16:40:39
    不錯,弓雖人呀!!

    呵呵
    sendmail、qmail、postfix的FAQ都建立起業,這樣,一般的問題都基本上可以解決了。

    還是請新手多多看一下本版的FAQ

    請版主幫忙置頂??!

     peng 回復于:2003-06-20 16:45:19
    呵呵,小葉子在啊,今天怎么得閑了?
    先寫這么多了,想不起來了,有時間我會慢慢補充的。
    也請高手們指點錯誤和多多發言???

     gadfly 回復于:2003-06-20 17:33:51
    哈哈,二位百忙之中抽空出來,真是不錯呀。

    好了,現在三大MTA的FAQ全了。

     ilovewalk 回復于:2003-06-22 22:19:29
    我想提個問,如果用戶不記得他的密碼啦,應該怎么辦呢???

     peng 回復于:2003-06-23 09:19:09
    [quote:5275f2cecc="ilovewalk"]我想提個問,如果用戶不記得他的密碼啦,應該怎么辦呢???[/quote:5275f2cecc]     
    管理員可以更改??!
    初始化密碼就可以了。

     frame 回復于:2003-06-25 17:13:59
    問一個問題啊
    按照說明安裝好了以后,到OUTLOOK里可以發郵件了,可以發到HOTMAIL里,但HOTMAIL回復的信這里卻收不到,也沒有出錯信息

    相互發送(sale@domainname.com 到other@domailname.com)可以收發,外面發來的信收不到

    是不是MX的問題??

     peng 回復于:2003-06-25 17:20:11
    有可能??纯次疑线厡懙年P于dns的問題,和你的不一樣嗎?
    還有,你的域名是合法的嗎?機器在公網上嗎?

     frame 回復于:2003-06-26 09:06:41
    域名是合法的,機器在公網上的

     peng 回復于:2003-06-26 10:33:06
    貼出你的dns配置看看。。。

     xingplayer 回復于:2003-06-30 23:37:09
    關于第5個問題的回答     
    原文如下:
    “5、本機上可以telnet ip address 25和110端口,但是客戶端不行,提示連接失敗,為什么? 
    a:看看防火墻是不是打開了,關閉掉或者設置打開25或者110端口。 ”

    其實還有其他原因, sendmail.cf文件中有一個選項:
    O DaemonPortOptions 


    edit /etc/sendmail.cf 
    找到: 
    # SMTP daemon options 
    O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 
    添加: 
    # SMTP daemon options 
    O DaemonPortOptions=Port=smtp,Addr=你的IP, Name=MTA 
    保存! 


    這樣就能夠解決問題

     dwq123 回復于:2003-08-11 15:48:23
    老大們,我在本機上#telnet localhost 25 時不成功啊,提示如下:
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 dns.eef.com ESMTP Sendmail 8.11.6/8.11.6; Mon, 11 Aug 2003 15:21:31 +0800
    后面就什么都沒有了,為什么沒有出現250-AUTH LOGIN PLAIN的行。

     peng 回復于:2003-08-11 15:56:35
    [quote:c7a05fc4b7="dwq123"]老大們,我在本機上#telnet localhost 25 時不成功啊,提示如下:
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 dns.eef.com ESMTP Sendmail 8.11.6/8.11.6; Mon, 11 Aug 2003 ..........[/quote:c7a05fc4b7]     

    呵呵~哥們!
    想看下面的,接著輸入:
     EHLO localhost    ---再回車。。。。

     dwq123 回復于:2003-08-11 16:12:50
    結果顯示下面的信息:
    250-dns.eef.com Hello dns.eef.com [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ONEX
    250-ETRN
    250-XUSR
    250 HELP
    還是沒有250-AUTH LOGIN PLAIN的信息???

     peng 回復于:2003-08-11 16:15:57
    停止sendmail,重新啟動在看看。
    要是沒有,看心余的帖子:
    有沒有正確編譯sasl,檢查sendmail.mc文件。

     dwq123 回復于:2003-08-11 17:07:55
    謝謝阿peng,我現在配好了,但是我用outlook發郵件時提示:SMTP reply 553  5.5.4

     peng 回復于:2003-08-11 17:36:55
    暈~你怎么這么粗心??!
    打開outlook--工具--帳浩-郵件-屬性-服務器--我的服務器需要身份驗證--打上對勾!

    干了這么多,不就是為了這個對勾能生效嗎?

     dwq123 回復于:2003-08-11 18:10:45
    謝謝阿peng,我配好了。
    但是現在又有另一個問題:用outlook發信時提示:SMTP  Server reply 553 5.5.4 .......
    請問是什么原因?

     peng 回復于:2003-08-11 18:14:04
    照我上邊說的做。。。。。。。。

     Suche 回復于:2003-08-12 18:29:33
    TO peng老大,我是一個linux新手,最近在給實驗室搞內部服務器,希望建立一個在局域網內部使用的email的服務器,使用sendmail,以實現局域網內部成員能用outlook等程序進行內部email交流,服務器裝的是rh9,但是一直搞不定,有人推薦我參考心余的那篇帖子,我照著他寫的做了,已經檢測到SASL被編譯到sendmail中,但是接下來檢測不到25端口,顯示
    Trying 127.0.0.1...
    telnet: connect to address 127.0.0.1: Connection refused
    這是什么原因啊,是不是這個端口被其他配置禁掉了啊,服務器的系統開始不是我搞的,我應該從那方面著手呢,您能否在百忙之余指點我一下,謝謝

     lcqxmu 回復于:2003-08-13 10:23:04
    sendmail 要裝smtp服務  是如何實現呢

     Suche 回復于:2003-08-13 14:57:14
    那個telnet的問題已經解決了,查了半天原來是在將sendmail.mc編譯成sendmail.cf時出了錯,在sendmail.cf里莫名其妙的出現了幾個亂碼,去掉之后就好了,現在已經按照心余寫的那篇文章通過了測試。但是用outlook發信不能成功,是不是dns也要進行相關設置啊,

     dwq123 回復于:2003-08-13 16:53:47
    to:peng老大:
    我的sendmail配置好了,用outlook可以收發郵件,但是用foxmail只能收不能發,提示:SMTP server reply:553  5.5.4 .....domain name required for sender adress ,而且我已勾選了SMTP認證,請問是什么原因?

    原文轉自: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>