2005年09月04日(日)

Unknown service "smtp"

コンピュータに関するりばにしの記事

Meadow上のWanderlustからメールを送信しようとしたところ,送信できない.

Unknown service "smtp"

「smtp」というサービス名から,ポート番号を取得することができないらしい.このとき調べて初めて知ったんですが,Windowsにも「/etc/services」に相当するものが存在するんですね.でも,そのファイルにも「smtp」は「25/tcp」と書いてある・・・.うーむ,参ったなぁ・・・.

とりあえず送信したかったので,「~/.wl」に以下のように書いて切り抜けました.

(setq wl-smtp-posting-port 25)

でも,なんかすっきりしない.まさかスパイウェアとかに感染してしまって,サービス名からポート番号を取得する部分が汚染されているのか?すごく心配.Spybotのチェックはセーフだったけど.

2005年09月04日18時33分 | Permalink | | このエントリーを含むはてなブックマーク

11 Responses to “Unknown service "smtp"”

  1. りばにし says:

    getservbynameが使えないみたいです.
    cygwinのperlからもgetservbynameが使えませんでした.
    # 他のWindowsマシンでは,cygwinのperlから使えましたが.
    うーん,また再インストールなのか・・・.ありえん・・・.

  2. 通りすがり says:

    当方もUnknown service “smtp”に遭遇してます。
    WinXPSP2+Cygwin1.5.18-1
    (setq wl-smtp-posting-port 25)やっても送信できず。
    変えたのはCygwinだけなので怪しんでいるのですが、問題なかったVersionのCygwinはもう手元にない。(´,_ゝ`)プッ

  3. りばにし says:

    コメント,ありがとうございます.

    cygwinが怪しいですか・・・うーむ.
    こちらの環境は以下の通りです.
    WindowsXP Professional SP2
    CYGWIN_NT-5.1 silverzero 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown Cygwin

    ポート番号を設定してもダメとのことで,症状がちょっと違うみたいですが,
    同じような問題にぶち当たっている人がいて,少し落ち着きました.
    メールが送信できるようになることをお祈りしております・・・.

  4. 通りすがり says:

    直りました。
    最新のwanderlust(stable 2.14.0)にしたら
    (setq wl-smtp-posting-port 25)
    を付ければ送信できました。
    # 付けないとNG

  5. りばにし says:

    おぉ,そういえばwanderlustのバージョンを書いてませんでしたね.
    こちらも同じですかね.「Wanderlust/2.14.0 (Africa)」を使っています.
    とりあえず,他に問題が見つからないので,継続利用していますが,
    やっぱ気になりますね・・・.

  6. 通りすがり says:

    既に前のVersionのCygwinが無いので当方は確認は取れませんが…
    Wanderlustが見ている(?)と思われる/etc/sercivesって今の自分のPCのを見るとC:\WINDOWS\system32\drivers\etc\servicesのリンク(ショートカット)になってます。
    実は以前のCygwinでは/etc/servicesってリンクではなくファイルその物だったって事はないですか?
    で、windowsのショートカットだとリンク先のファイルが読み出せないとか…
    # 完全に憶測ですが…

  7. りばにし says:

    #!/usr/bin/perl -w

    use strict;

    my $port;
    $port = getservbyname(’smtp’, ‘tcp’);
    print $port;

    上記のようなPerlスクリプトを,
    cygwinのPerlとActivePerl,それぞれ実行したところ,
    両方ともエラーが出て動作しませんでした.
    ちゃんと確認していないので,完全な推測になってしまいますが,
    ActivePerlがcygwinの/etc/servicesを参照しているとは考えにくく思います.
    Windows側で何か問題が起きているんじゃないかと・・・.
    # うちの場合はハードウェア的なクラッシュも要素に入っているので,余計ややこしいですが・・・.

  8. 通りすがり2 says:

    こんにちは。

    WindowsXPでcygwinを使っていますが、同じ現象に遭遇しました。今まで問題なく使えていたftpやtelnetが突然”unknown service”と言われてしまいます。DOS窓から起動したftp.exeだと問題なく動作するので、明らかにcygwinの問題です。

    色々調べてみたのですがまだ解決策は見つかっていません。何かわかったらお知らせします。

  9. りばにし says:

    コメントありがとうございます.

    たしかに,この現象に遭遇されている方は,みんなcygwin使いですし,cygwin犯人説が有力なんですかね.

    試しにVisual Studio .NET 2003で,getservbyname関数を使って,ポート番号を取得するプログラムを,
    自分は得意じゃないので,後輩に作ってもらったところ(笑),
    プログラムを作成したWindowsマシンでは,無事ポート番号を取得できたのに対し,
    僕のマシンでは,ポート番号を取得できませんでした.
    つまり,cygwinと無関係に動作するプログラムでも,getservbyname関数が使えなくなっているのは間違いないです.

    DOS窓のftp.exeが問題なく動作するのは,おそらくプログラムの内部で,固定的にポート番号を指定しているのかもしれない,と勝手に憶測してます.
    うちではcygwinの外で動作するMeadowでもgetservbyname関数が使えなくなっているみたいですし.

    まぁ,いろいろと検証したところで,cygwinユーザ以外に同じ症状の人を見つけない限り,
    cygwinを入れたことによって,getservbyname関数が使えなくなっている,という可能性は相変わらず有力なわけですが・・・.

  10. HeavenWolf says:

    getservbynameが使えなくなる問題解決!

    長い戦いに終止符が打たれました.getservbyname関数が使えない日々がつ…

  11. りばにし says:

    解決しました!詳細はこちら
    http://www.heavenwolf.org/archives/2005/11/05/0236.php
    犯人はなんとMSN Messenger 7.5の診断ツール・・・.

Leave a Reply

Currently you have JavaScript disabled. In order to post comments, please make sure JavaScript and Cookies are enabled, and reload the page.