用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(`a
clearcase/" 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 w
ant
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
輸出類似如下:
NET
UNIX 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-8BIT
MIME
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永久无码天堂影院_久久婷婷综合色丁香五月
|