Qmail使用SMTP發信的設置問題集
發表于:2007-07-02來源:作者:點擊數:
標簽:
1.qmail的發信三個問題。 2.對于發信的rcphosts文件答疑。 3.向合法用戶發信無法forward。 4.QMAIL除了禁IP控制發郵件有其他辦法嗎? 5.smtp啟動腳本疑問。 6.由relaying問題引起的qmail能收信不能發信問題解決。 7.qmail的smtpd認證缺點. 1.qmail的發信三個
1.qmail的發信三個問題。
2.對于發信的rcphosts文件答疑。
3.向合法用戶發信無法forward。
4.QMAIL除了禁IP控制發郵件有其他辦法嗎?
5.smtp啟動腳本疑問。
6.由relaying問題引起的qmail能收信不能發信問題解決。
7.qmail的smtpd認證缺點.
1.qmail的發信三個問題。
Q: 1.qmail發信時與對方的smtp
服務器有幾次認證過程,就是一次不成功的話回重發幾次?如何順序?如何調整?
2.發信部成功的反彈消息是依靠什么模塊?可以關掉嗎?
3.如果對方機器沒有開啟,如何反應?
A: 1 qmail與對方郵件服務器的之間交互不存在認證過程 只有能否鏈接上
2 qmail根據一些列規則查找指定的郵件接收用戶,若沒有找到則缺省返回用戶不存在的信息,若使用了vpopmail則可以設定目標用戶不存在時將郵件投遞給一個指定用戶,可以參考我的第三篇qmail文章
3 那qmail就會返回對方主機不可達的消息
Q: 謝謝您的回答,還有點疑惑
1。qmail與對方郵件服務器的之間交互不存在認證過程 只有能否鏈接上 ,是否只要對方的smtp開啟就把信發過去,但是對方因為沒有這個用戶不收如何?因為想加快郵件發送速度,想做到以下幾點,如何作?
2。qmail發信時一次不成功的話不再重發,從隊列中刪去。
3.發信不成功的不反彈消息。
4.如果對方機器沒有開啟,這在10-30分鐘內不再發送此域的信。
謝謝。這其實是在發大量的信的情況下才需要的??吹?分鐘內可發送1萬封電子郵件的報道,您認為如何?
A: 1 那對方可能在當時smtp協議交互過程中就直接告訴no such user 或者將信接收下來 再判斷是否有該用戶 若沒有 則返回no such user 的錯誤信。這些要求可能比較麻煩 需要自己修改qmail程序
?。剑剑剑剑剑剑剑剑剑剑剑剑剑?
2.對于發信的rcphosts文件答疑。
Q: 為何我在服務器上設置好qmail和vpopmail后,用foxmail向別的email服務器(如:163.net 21cn.com)發送email會出現:
Warning
The server says:
553 sorry, that domain isn@#t in my list allowed rcpthosts
(#5.7.1)
Continue?
可是我將21cn.com,163.net加入到/var/qmail/control/ rcpthosts 后就沒事了,可正常收發郵件。難道我要一個個郵件服務器加入到rcpthosts文件?有什么方法可以不用那么麻煩呢?...多謝了...^_^@# 我將 rcpthosts刪除了,就沒事了,可是這樣做好不好呢?...^_^
A: qmail有一個名為rcpthosts(該文件名源于RCPT TO命令)的配置文件,其決定了是否接受一個郵件。只有當一個RCPT TO命令中的接收者地址的域名存在于rcpthosts文件中時,才接受該郵件,否則就拒絕該郵件。若該文件不存在,則所有的郵件將被接受。當一個郵件服務器不管郵件接收者和郵件接收者是誰,而是對所有郵件進行轉發(relay),則該郵件服務器就被稱為開放轉發(open relay)的。當qmail服務器沒有rcpthosts時,其是開放轉發的。請仔細看這個文件的含義
----------------------------
3.向合法用戶發信無法forward。
Q:我安裝并配置qmail后,我嘗試向本機的某一合法用戶(sexy_boy)發信(非root組),產生如下信息:
new msg 379069
info msg 379069: bytes 204 from qp 2665 uid 0
starting delivery 16: msg 379069 to local sexy_boy@mail.tom.com
(1)status: local 1/10 remote 0/20
(2)delivery 16: deferral : /bin/sh:_dot-forward:_command_not_found/
而且(1),(2)行信息每隔一段時間就重復出現。我的mail server為mail.tom.com
我了root的別名為:mr_ho 請高手們幫幫我。我已經搞了一個星期,還沒有搞好。謝謝!
A:你沒有 安裝 .forward程序!請看我的主頁mlix.yeah.net看如何
下載和安裝
=============================
4.QMAIL除了禁IP控制發郵件有其他辦法嗎?
QMAIL-SMTPD密碼驗證
Q: 大俠們,QMAIL除了禁IP控制發郵件有其他辦法嗎?一旦別人利用來發垃圾郵件不是慘了,難道就沒有密碼驗證的補丁嗎?有的話告訴我好嗎?最好告訴設置的方法
A:如果使用vpopmail實現虛擬賬號 則其提供了一種使漫游用戶使用mail relay二其他用戶不允許的方式。其原理是當一個用戶使用pop3取了信件以后 則在其后的一端時間內 允許該用戶的ip地址通過該服務器relay 具體可以參考< a HREF="www.inter7.com/vpopmail/">vpopmail的文檔
?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
5.smtp啟動腳本疑問。
Q:smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
請問這語句在ine
td.conf文件中是什么意思?我知道它是啟動smtp服務的,可我想問的是,為什么會有八個字段呢?還有一些服務的啟動不止八個字段還要長,又是怎么會事呢?多謝了..^_^
本來應該是:名稱 封包類型 協議 wait/nowait 用戶程序執行參數這七個字段的吶..
A:最后兩個字段看作是參數
?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
6.由relaying問題引起的qmail能收信不能發信問題解決。
Q:我的QMAIL可以收!不能發出去!好象就是RELAYING的問題!各位大俠可以幫幫我嗎?
A: 您先看看control目錄下的smtproutes文件, 它的內容使用那臺機器發信, 如果沒添, 添一個機器, 如果還是不行, telnet 那臺機器的25端口, 如果仍然不行, 檢查那臺機器的inetd.conf看看25端口有沒有打開.
Q: 我在里面添了好多郵件服務器的域名了
163.net 263.net citiz.net
還添了我自己的郵件服務器。按你的意思是只要一臺就行了嗎?是添我自己的還是別人的郵件服務器呢?能不能說詳細一點?(我很笨!對不起)
A: 是添你要往外發郵件的機器, 是你自己的機器, 你肯定要有臺機器發郵件啊. 那臺機器要運行smtp守護進程. 只要添一臺就可以了, 那些什么263.net統統去掉, 應該在那臺機器上做配置.
Q: 我的機器已經有smtp進程了!域名也添進去了是想用我自己的機器發郵件?。ㄗ鳛猷]件服務器)可是我發郵件時報錯!發不出去??!
A:1.你要先檢查你的機器是不是在一個防火墻后面,也許 你的防火墻把你的25port關了.
2.現在你看看是不是用
qmail-start ./Mailbox
sqlogger qmail 啟動了
Qmail.在/etc/syslog.conf里面把mail.*定向到
/var/adm/maillog. 檢查log里面有什么東西
3.你說發不出去,你直接telnet localhost 25 檢查有沒有什么問題. 能直接用這個發嗎?
4.用ptrace(如果沒記錯的話)來跟蹤這個pid,看錯誤信息
Q:1。我的機器不在放火墻后
2。進程有
qmail-send
splogger qmail
qmail-lspawn|preoot
qmail-rspawn
qmail-clean
3.已經定向到mailog中
maillog中的錯誤信息是:
第一行:Jun 16 08:26:54 HY qmail:
961115214.632296 starting delivery 337: msg 144928 to remote kil@126.com
第二行:Jun 16 08:26:54 HY qmail: 961115214.632418
status:local 0/10 remote 1/20
第三行:Jun 16 08:26:54 HY qmail: 961115214.636463 delivery 337:
deferral:Sorry,_I_
wasn@#t_able_to_establish_an_SMTP_connection._(#4.4.1)/
第四行:Jun 16 08:26:54 HY qmail: 9611154.636559 status:local 0/10 remote 0/20
4.我的telnet xxx.xxx.xxx.xxx 25 的過程:
telnet xxx.xxx.xxx.xxx 25
220 domain ESMTP
helo dude
250 ok
mail <pghygxy@163.net>
250 ok
rcpt <pghygxy@163.net>
250 ok
354 go ahead
502 unimplemented(#5.5.1)
下面輸入什么命令都是502 unimplemented(#5.5.1)如果是MAIL給本地用戶而不是INTERNET用戶就可以發!也收的到(自己服務器的用戶)
A:1.你的進程看起來有點奇怪,
qmail-lspawn|preoot 應該有點問題.我不知道你的啟動腳本是怎么寫的, 用下面這個應該沒問題:
echo "Starting qmail..."
PATH=/var/qmail/bin:$PATH
export PATH
qmail-start ./Mailbox splogger qmail &
2.你應該給另外一個Email服務器發信件test,你現在發過去的Email服務器可能有問題,多實驗幾個地址.
?。剑剑剑剑剑剑剑剑剑剑剑剑剑剑剑?
7.qmail的smtpd認證缺點.
我也曾試過smtp采用驗證的方式.(以下是我的經驗不知對否)
不過有個缺點就是只有你漫游的用戶成功收取到信件后才能在驗證的文件(open-smtp)中加入一條記錄如202.109.73.241:...表明可以允許該IP的客戶發信了即使不在rcphosts中,所以如果你沒有成功收信是不可以發信的.而/home/vpopmail/bin/cleansmtp定期如分鐘清理open-smtp中記錄.又重復上面的過程了.
這種smtpd驗證的方式對于發信的人來講真是太不方便了.
原文轉自:http://www.kjueaiud.com