C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[3314] Re:e-amil 체크를 만드는 방법 알려주세요.
박지훈.임프 [cbuilder] 4175 읽음    2000-04-12 00:00
정성수 님이 쓰신 글 :
: e-mail 체크를 만들고 싶은데요. 방법을 잘 몰라서...
:
: 비쥬얼시에는 openpop 이란함수? 가 있어서 간단하게 되던데.  빌더는 이제 배우는 단계입니다.
:
: 혹시 pop3 이외의 메일서버는 어떤 형식으로 확인 해야 하는지도 알려주시면 고맙겠습니다.
:
: 감사합니다.



임펠리테리입니다.

비주얼씨에는 그런 함수가 있다고요..? 글쎄, 그게 함수 수준에서 간단히 해결될 문제인지...
원래 pop 프로토콜은 110번 포트를 사용하는 일반적인 텍스트 프로토콜입니다. 물론 고유의 포맷이있죠. pop 프로토콜의 표준은 RFC 1225와 RFC 1725에 자세히 규정되어 있습니다.

말씀드렸다시피, 텍스트 기반의 단순한 프로토콜이므로 소켓으로 해당 pop서버의 110번 포트에 연결한 후에 프로토콜 특정 서식의 문자열을 보내고 받으면 되는 겁니다. 테스트를 해보시려면 텔넷 클라이언트에서 pop서버의 110번 포트로 연결해보면 되죠.

예를 들어, 접속직후에 로그인하려면,
user [유저네임]<엔터>
pass[패스워드]<엔터>
이렇게 하면 되는 식입니다. 로그인 직후에 현재의 메일 리스트가 나오는데, 메일을 읽으려면
ret [메일일련번호]<엔터>
이렇게 하면 되구요.

그러니, 당연히 TClientSocket을 사용해서 팝서버에 접속하고 데이터를 받아오면 됩니다. 하지만 꽤 번거로우므로 빌더용으로 되어있는 pop 클라이언트 컴퍼넌트를 사용하는 것이 훨씬 간편합니다. 빌더에는 원래 기본적인 소켓 외의 인터넷 컴퍼넌트들은 NetMaster라는 회사의 서드파티 컴퍼넌트를 번들해서 판매하고 있는데, 소스도 포함되어 있지 않은데다 버그가 꽤 있어서 별로 권하지는 않구요.

여기 자료실에 올려져 있는 WinShoes나 ICS에 포함된 POP 컴퍼넌트를 사용해보시기 바랍니다. 또, SakEmail이라는 메일 전문 컴퍼넌트 패키지도 있는데, http://sak.org.ar 에서 다운받으실 수 있습니다.

그럼 참고하시길...

+ -

관련 글 리스트
3313 e-amil 체크를 만드는 방법 알려주세요. 정성수 3457 2000/04/11
3314     Re:e-amil 체크를 만드는 방법 알려주세요. 박지훈.임프 4175 2000/04/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.