- - PR -
qmailのPOP3(checkpasswordを使用)について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-03-12 02:28
で、スレが変わったのもあって混乱してますが、
何をしたいんでしたっけ? >smtpの記述はありませんでした というのは意図どおりなんでしょうか? 意図どおりではない場合、なぜ立ち上がっていないか調べました? オプション忘れてました netstat -alpと入力して、POP3をLISTENしているのは 何になっていますか? tcpserverになっていますか? | ||||
|
投稿日時: 2004-03-12 02:34
tcpserverになっていますか?
なっています。 やりたいことは、外部(携帯など)へのメール送信です。 意図どおりではない場合、なぜ立ち上がっていないか調べました? ちょっとまってください。調べますので | ||||
|
投稿日時: 2004-03-12 02:46
11時37分に携帯に送ったメールが受信されました。
センターにずっとあったのでは?と聞かれそうなので先にお答えします。 メール問い合わせを何度もしているのでそれはないと思います。 なぜこんなにも時間がかかったのでしょうか? | ||||
|
投稿日時: 2004-03-12 02:54
やっと原因がわかりました。
qmailの起動スクリプトが間違っていたのを修正しました。 そうするとちゃんと送信できるようになりました。 今回いろいろな人に助けられ、ご指摘いただき勉強になりました。 まだ17歳なのでこれから勉強する時間はたっぷりありますので勉強させてもらいます。 しかしまた、このように質問させてもらう機会があると思いますがその時はまたお答えしてもらううれしいばかりです。 | ||||
|
投稿日時: 2004-03-12 23:58
すみません、また質問してしまいます。
POP3とSMTPをLAN上のクライアント(WinXP)で使うことができるようになっていました。 下のコマンドにより手動で起動しSMTPの動作を確認しました。 tcpserver -v -u 502 -g 501 -x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & 上のコマンドにより外部、内部ともに送信できました。 なのでスクリプトにそのまま書き込みました。 その時のスクリプトがこれです。↓ #!/bin/sh # Startup script for qmail-daemon # chkconfig: 345 85 15 # description: qmail # processname: tcpserver . /etc/rc.d/init.d/functions # Start/stop processes required for qmail case "$1" in start) echo -n "Starting qmail: " sleep 1s csh -cf '/var/qmail/rc &' echo -n "Starting tcpserver-POP3: " sleep 1s /usr/local/bin/tcpserver -H -R -l 0 0 110 /var/qmail/bin/qmail-popup \ mail.miyake.mydns.jp /bin/checkpassword /var/qmail/bin/qmail-pop3d Mail dir 2>&1 \ /var/qmail/bin/qmail-pop3d Maildir & #SMTP tcpserver -v -u 502 -g 501 -x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtp d 2>&1 | /var/qmail/bin/splogger smtpd 3 & touch /var/lock/qmail ;; restart) $0 stop sleep 1s $0 start ;; stop) echo -n "Shutting down tcpserver: " killproc tcpserver echo echo -n "Shutting down qmail: " killproc qmail-send echo ;; *) echo "Usage: $0 {start|restart|stop}" exit 1 esac exit 0 を実行すると送信できなくなります。 手動でtcpserver経由での起動はできるのにスクリプトに記述すると起動はするが送信できないのは、なぜでしょうか?? また、 tcpserver -v -u 502 -g 501 -x /etc/tcp.smtp.cdb \ 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & としてもダメでした。 ログを見ましたがスクリプトによる起動後には、 Mar 13 08:50:39 localhost qmail: 1079135439.122085 status: exiting Mar 13 08:50:41 localhost qmail: 1079135441.278470 status: local 0/10 remote 0/20と出ました。エラーは特に無いようです。 netstat -alpで調べた結果 自動スクリプトではSMTPの項目になく 手動ではSMTPの項目がありまして、手動で起動したためだと思うのですがscpserverと記述されて無ければならないところには何も記述されてませんでした。 | ||||
|
投稿日時: 2004-03-13 01:29
こんばんわ.
自分は sendmail 派でして,大変申し訳ないのですが script の内容については貢献できません.でも気がついたことを少し. 「手動で」ということは,command を叩いたわけですよね?その際に,期待値としては tcpserver が smtp の port を LISTEN しているはずだったと...で,実際には「何が」LISTEN していたのでしょう?ここが大事かと... それから,command での起動時は "tcpserver" なのですよね?つまり "/usr/local/bin/tcpserver" ではなく.でも,script の中で pop3 daemon を叩く部分は "/usr/local/bin/tcpserver" と full path なのに,smtp daemon 叩くところは "tcpserver" と.この辺に要因があるのではないかと感じます. | ||||
|
投稿日時: 2004-03-13 02:12
command を叩いたわけですよね?
はい。タイプしました。 実際には「何が」LISTEN していたのでしょう?ここが大事かと... 実際は /(ルート) でした。 しかし、コマンドでtcpserver経由で起動するようにタイプしたのでそこがおかしいと困ってしまいます。 @ITに書いてあるコマンドにtcpserver経由でqmailを起動↓ http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01c.html の一番下。 ■tcpserverによるqmailの起動 準備が整ったところで、tcpserver経由でqmailを起動します。前半で記述したinetd.confの記述を削除するかコメントアウトし、inetdを再起動します。 次に下記のコマンドを実行します(qmaildのUIDやnofilesのGIDはid qmaildコマンドで確認できます)。 # tcpserver -v -u[qmaildのUID] -g[nofilesのGID]-x /etc/tcp.smtp.cdb 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & この通りにコマンド入力してますので、もちろんUIDとGIDは調べて自分の環境のものに変えました。これで自分の考えではコマンドをタイプしたのは確かにrootだが、tcpserver経由で起動していると考えております。でも実際は/になっている。 どうすればいいだろうか? | ||||
|
投稿日時: 2004-03-13 02:19
kazさん、遠まわしな言い方ではダメなようですよ
赤帽子の初心者さんへ スクリプトちゃんと見直しました? 絶対に見直してませんよね? pop3起動時とsmtp起動時のスクリプト比較してみましょう |