指定したメールアドレスが存在するのか、メールを送信せずに確かめる方法はありませんか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答7件)

id:keroronX No.1

回答回数211ベストアンサー獲得回数4

ポイント15pt

http://ash.or.jp/net/telnet_smtp.htm

telnet$B$G%a!<%kAw?.(B

telnetで直接相手のsmtpサーバを叩いてみてはいかがでしょうか?

id:hinop

よくわかりません。これって、相手にメールが送られてしまうのでは?

2005/01/13 14:38:08
id:keroronX No.2

回答回数211ベストアンサー獲得回数4

ポイント15pt

1のkeroronXです。URLはダミーです。

1のURLにあるように、相手のsmtpサーバに直接telnetでメールを送ろうとして、rcpt to:のところでokが出ればアカウントあり、okでなければアカウントなしと判断できます。

この時点でquitしちゃえば、メールを送ることなく、アカウントが存在するかどうか、確認できると思います。

id:hinop

よくわかりませんが、操作ミスすれば相手に贈ってしまうこともある、と。

2005/01/13 14:43:50
id:eiyan No.3

回答回数428ベストアンサー獲得回数5

http://www.kooss.com/freemail/

無料メールアドレス 無料メールアカウント

そのメールアドレスIDで新規登録を試してみます。

存在すれば登録出来ないし、存在しなければ登録出来ます。

これで確かめられます。

最も弊害もありますが・・・

id:hinop

フリーメールを調べようとしているのではないので無理です。

2005/01/13 14:44:10
id:honey3 No.4

回答回数350ベストアンサー獲得回数0

ポイント15pt

http://ash.or.jp/net/index.htm

$B%M%C%H%o!<%/$K$D$$$F(B

方法は1のkeroronXの方法ですが、

「操作ミスすれば相手に贈ってしまうこともあるのでは」と言うことですが、「MAIL FROM:」をわざわざ自分のアドレスを入力しなければ良いと思いますが…。

telnetで直接相手のsmtpサーバを叩く方法は、サーバーによってはできないものもあります。

id:hinop

ありがとうございます。相手にメールが届かない方法でありませんか?

2005/01/13 15:01:36
id:chibikkoman No.5

回答回数89ベストアンサー獲得回数6

ポイント15pt

先にかかれているように

TelnetコマンドでSMTPに接続します。(宛先ポート25指定)

VRFYコマンドでユーザの確認が出来ます。VRFYコマンドはVerifするだけなのでメールは発信されません。

実際に自分のSMTPサーバへコマンドたたいてみるのがいいですよ!

id:hinop

すいません、VRFYの使い方がよくわかりません。

たとえば、hoge@hoge.com を調べる場合、どうすればいいのですか?

2005/01/13 15:22:24
id:naglfar No.6

回答回数3ベストアンサー獲得回数0

ポイント15pt

http://www.harukaze.net/~mishima/perl/cgi-tech-tips.html

Perl CGIプログラミングテクニックTips

VRFYはTelnetでつないで使うコマンドですね。セキュリティの問題から禁止しているホストが多いかと思われます……。

確実なチェック方はないながらDNSを調べては、というドキュメントが古いながら見つかりました。いかがでしょうか。

id:hinop

ありがとうございます。とりあえずVRFYをやろうと思いますが、コマンドの表記がよくわかりません。

2005/01/13 15:27:43
id:mutsuju No.7

回答回数551ベストアンサー獲得回数35

ポイント45pt

URIダミー。以下hatena.ne.jpドメインのメールアドレスを調べることを想定。

1)相手のメールアドレスからあいてメールサーバを特定する

コマンドプロンプトに降りてnslookupコマンド発行。続いて以下2コマンドを発行。

set type=mx[Enter]

hatena.ne.jp[Enter]

すると

Non-authoritative answer:

hatena.ne.jp MX preference = 10, mail exchanger = sv.hatena.ne.jp

のような答えが返ってくる。このとき、相手メールサーバは sv.hatena.ne.jp である。

nslookupコマンドは、exit[Enter]で抜けることができる。

http://d.hatena.ne.jp/

はてなダイアリー - 無料で簡単。広告のないシンプルなブログをはじめよう!

2)相手メールサーバに問い合わせる。

続いてコマンドプロンプトで

telnet sv.hatena.ne.jp 25

を入力。すると以下のようになる。自分が入力する部分は、この下の行の行頭に数字がない部分のみ。

220 tochu.hatena.ne.jp ESMTP Postfix

helo hoge

250 tochu.hatena.ne.jp

mail from:<hoge@hoge.com>

250 Ok

rcpt to:<info@hatena.ne.jp>

250 Ok

rcpt to:<fugafuga@hatena.ne.jp>

250 Ok

rset

250 Ok

quit

221 Bye

このとき、最初に実在するメールアドレスを問い合わせ(info@hatena)、次に実在しないであろうアドレス(fugafuga@)を入力してコマンドの返値を観察するとよい。

http://a.hatena.ne.jp/

はてなアンテナ

hatena.ne.jpはメールサーバにPostfixを使っているようで、この処理は失敗する。

sendmailを使っているサーバであれば、存在しないアドレスには

550 5.1.1 <fugafuga@hatena.ne.jp>... User unknown

のように返ってくる。ただし、セキュリティ上の措置でいったん全てokを返すサーバもあるので注意のこと

なお、このように直接smtpを叩くと先方に不審な動きを示したlogが残ることになるので、実際にはやらない方が無難である。

以上、参考になりますか?

id:hinop

後でやってみます。ありがとうございました。

2005/01/13 16:15:36

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません