Q&A

  • 메일서버가 실제 존재하는지 알수 있나요?
일반적으로 connect해 보면 될거 같은데..
만일 daum.net 같으면 어떻게 체크해야 하나요..

메일주소가 실제 존재하는지를 체크하려고 합니다.
만일 아이디가 존재하지 않더라도
메일서버가 존재하는 서버인지라도 체크하고 싶은데
방법을 모르겠습니다.

3  COMMENTS
  • Profile
    천희택 2005.10.10 18:10
    1. cmd 창을 엽니다

    2. nslookup

    3. set type=all or set type=mx

    4. daum.net


    하고 나서 나오는 mx 레코드들이 전부 메일 서버 주소입니다.

    물론 DNS를 안올리고 메일 서버를 열었다면 조회는 안됩니다만

    유명 사이트의 경우는 그럴 경우가 거의 없을 것 같습니다.

    위에서 나온 IP에 25번 포트로 커넥트시키면 아마 될겁니다. 방

    금해보니 되네요.

  • Profile
    기타맨 2005.10.10 22:15
    답변 정말 감사드립니다..
    그런데..지식이 너무 짧아서요..

    이걸 프로그램으로 체크해야 하거든요.
    어떻게 코딩해야 하나요?

  • Profile
    천희택 2005.10.11 01:33
    <!--CodeS-->
    procedure TForm1.Button1Click(Sender: TObject);
    var i : integer;
    begin
        DNSClient.Host := '168.126.63.1';
        DNSClient.Port := 53;
        DNSClient.QueryRecords := [qtMX];
        DNSClient.Active := True;
        if DNSClient.Active then
        begin
            DNSClient.Resolve('hanmail.net');
            for i := 0 to DNSClient.QueryResult.Count - 1 do
            begin
                if DNSClient.QueryResult.Items[i].DisplayName = 'TMXRecord' then
                begin
                    Memo1.Lines.Add(TMXRecord(DNSClient.QueryResult.Items[i]).ExchangeServer);
                end;
            end;
        end;
    end;
    <!--CodeE-->

        DNSClient: TIdDNSResolver;
        Memo1: TMemo;
        Button1: TButton;

    인디에 있는 DNSResolver을 뒤져 봤지만 DNS Name을 IP Address로 변환해주는 부분은 없

    네요... 위에서 나온 레코드들... 'mx1.hanmail.net'을 25번 포트로 커넥트 시키면 됩니다. TCP라서

    가끔 먹통이 되는 경우도 있으니 몇 번 실행시켜서 한번이라도 얻어오면 될 것 같습니다.