アプリ版:「スタンプのみでお礼する」機能のリリースについて

このほと,qmailを設定したのですが,送信受信がうまくいきません。

--ネットワークの状況--
Linuxマシンx1,WINDOWSマシンx2,LAN環境は整っている,
物理的には接続できていて,どのマシンからでもpingは成功
apacheサンバBINDも正常に動作している

--qmailの状況--
自分のマシンから
#echo to:e-mail@address | /var/qmail/bin/qmail-inject
と入力すると。正常に空メールを送信することができる。
また,ゲートウェイ(ルータですが)を通してインターネット経由で
外部にもメールを送ることができる。

--クライアント(win)からサーバ(Linux)へLAN経由で送信するとき--
WINDOWSでメールの送受信にOutLookExpress を使っています
OutLookExpressを使って,メールをLinuxサーバのrootユーザなどに
メールを送ると送ることはできますが。外部にメールを送ろうとし
ても,エラーメッセージがでて送信不可能です。

--受信の状況説明--
Linuxのマシン自身やWINDOWSのクライアントから自分のマシンのユーザー
に送ったメール(rootやその他のユーザ)はLinuxのマシンに正常に届いています
(/home/xxxx/Maildir/new や /var/qmail/alias/Maildir/new など)
しかし,そのメールを見るためにクライアントからPOP3で接続すると
受信することはできません。(エラーがでる)

--qmailのインストール状況--
qmail自体をインストールしたあと
checkpassword,tcpserverもインストールしました

という,状況です
クライアントからサーバへP0P3でアクセスして,メールをGETする方法
クライアントからインターネット経由で外部にメールを送れるようにする方法
を,ぜひ教えてください。お願いします

OS情報;
server : TurboLinux 6.1 server

A 回答 (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 とかに記述する時など、かなり見にくい.?!

こんな説明でわかっていただけたでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
つっかえていたものが取れました
qmail設定のHPで
\マークがつかっているところがよくあり
謎!になってました。
意味がわかりほっとしました。
起動スクリプト(/etc/rc.d/init.d/qmail を作った)では
改行を無視して入力したので改行の問題ではないと思います。

ほかに方法はありましたら、教えてください。

お礼日時:2001/11/09 20:16

クライアント(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' で始まる行が表示されますか?
    • good
    • 0
この回答へのお礼

確か、
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 \
↑で\マークは何のいみがあるのでしょうか。教えてください。

お礼日時:2001/11/09 19:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!