- ベストアンサー
qmailの送受信ができない状況について
- qmailの送受信がうまくいかない状況について詳細な説明があります。
- ネットワークの状況やqmailの設定、クライアントからの送受信に関して問題が発生しています。
- メールの送信に関しては自分のマシンからは正常に送信できますが、外部やクライアントからの受信や送信ができません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと言葉足らずでした. -x /etc/smtp.relay はコマンドではなく、tcpserver のオプションです. tcpserver を実行する時に -x オプションで cdb ファイルを指定する 必要があります. # もしや、tcpserver を実行していないでは? とも考えましたが、 # 違ったようですね. > それから、一つ質問ですが、コマンドを入力するときに > xxxxx \ > ↑で\マークは何のいみがあるのでしょうか。 \ マークはコマンドの継続をあらわします. コマンドは、リターンキーで実行されますが \ マークを付けてリターンキーを押しても、 コマンドは実行されず、続けて引数を書くことができます. シェルによって、表示が違いかもしれませんが、 xxxx \ とすると、 ? とか表示されます. --=-- /usr/local/bin/tcpserver -v -u 2000 -g 2001 -R \ -x /etc/smtp.relay.cdb \ 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 22 & --=-- これを、\ マークを使わずに --=- /usr/local/bin/tcpserver -v -u 2000 -g 2001 -R -x /etc/smtp.relay.cdb 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 22 & --=- を(途中の改行を無視して)一行に書くのと同じことです. (個人の好みだと思いますが) 一行でコマンドを書くと見にくい. (と、私は思っている) /etc/rc.d/rc.local とかに記述する時など、かなり見にくい.?! こんな説明でわかっていただけたでしょうか?
その他の回答 (1)
- slackware
- ベストアンサー率59% (22/37)
クライアント(win)から、外部へメールを送ることができないのは、 サーバ(Linux)側の設定で、他のマシンからのメールの中継を 許可していないためだと思います. クライアント(win)の IP アドレスが固定なのであれば、tcpserver の 設定で許可させることができます. (仮に、クライアントの IP アドレスを 192.168.1.100 とします) まず、サーバ上の /etc/smtp.relay というファイルに次のような内容を記述 (ファイル名は適当) --(ここから)-- 192.168.1.100:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT="" --(ここまで)-- (2行めは自分自身からのメールの中継の許可) 次のコマンドを実行 tcprules /etc/smtp.relay.cdb /etc/smtp.relay.tmp < /etc/smtp.relay tcpserver を起動する時に -x /etc/smtp.relay.cdb を追加する. 例) --=-- /usr/local/bin/tcpserver -v -u 2000 -g 2001 -R \ -x /etc/smtp.relay.cdb \ 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 22 & --=-- クライアントから POP できないのも、同じ理由だと思います. == 確認なのですが、Linux 上で telnet localhost 110 とか telnet localhost 25 というコマンドを打つとどのような表示がされますか? --=-- linux% telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK <21799.1005296491@xxxxxx.linux> --=- '+OK' で始まる行が表示されますか?
お礼
確か、 192.168.1.100:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT="" の設定は、/etc/tcp.smtpで設定で設定しました。 (OSにより違うのでしょうか・・心配です) もう一度やってみます。(ここにないので月曜日する羽目になりますが・・・) 次のコマンドを実行 tcprules /etc/smtp.relay.cdb /etc/smtp.relay.tmp < /etc/smtp.relay tcpserver を起動する時に -x /etc/smtp.relay.cdb を追加する. ↑について。一応、cdbは作ったのですが、 -x /etc/smtp.relay.cdb のコマンドは実行してません。やってみます。」 telnet接続についてですが、どちらもOKマークがでました また、クライアントからポートスキャンで確認したところ pop3(110) も smtp(25)もどちらも開いていました。 回答どうも、ありがとうございました。是非やってみたいとおもいます また、これ以外にもやり方があったらおしえてください。 それから、一つ質問ですが、コマンドを入力するときに xxxxx \ ↑で\マークは何のいみがあるのでしょうか。教えてください。
お礼
回答ありがとうございました。 つっかえていたものが取れました qmail設定のHPで \マークがつかっているところがよくあり 謎!になってました。 意味がわかりほっとしました。 起動スクリプト(/etc/rc.d/init.d/qmail を作った)では 改行を無視して入力したので改行の問題ではないと思います。 ほかに方法はありましたら、教えてください。