Q&A

  • SMTP Authentication 절차를 아시는 분은 좀 알려주세요 ^^
RFC821 - SMTP 표준 문서를 보니까 일반적으로 아래의 절차를 거치더군요

SMTP 서버에 접속
<-- 환영메세지가 옵니다.

--> HELO username
<-- 응답

--> VRFY username
<-- 응답

-->MAIL FROM: <보내는 사람 Email>
<-- 응답

-->RCPT TO: <받는 사람 Email>
<-- 응답

--> DATA
<-- 내용을 입력하라는 응답이 옵니다.
여기서부터 세부적인 메세지를 작성합니다.
Subject: 제목을 입력
내용을 입력
<CRLF>.<CRLF>를 입력

<-- 메일을 전송했다는 응답이 옵니다.



그런데 궁금한 것은 VRFY 하는 과정에서 되는 메일 서버가 있고
안되는 메일 서버가 있어서 왜 그런지 몰겠어요.
처음에는 IdSMTP를 사용하다가 좀 세세한 정보가 필요해서
그냥 소켓으로 데이터쓰고 결과 받고 이런 식으로 작업을 하고 있습니다.

SMTP Authentication하는 원리와 순서를 아시는 분은 답좀 바랍니다.


예 1) 메일 서버와 통신한 내용입니다. - 정상적인 경우
220 erumtec.com ESMTP Sendmail 8.11.4/8.11.4; Fri, 20 Jun 2003 17:47:50 +0900
--> RSET
<-- 250 2.0.0 Reset state
--> HELO cwyoo
<-- 250 erumtec.com Hello www.erumtec.co.kr [220.72.160.206], pleased to meet you
--> VRFY cwyoo    <===== 이놈은 정상적으로 되요.
<-- 250 2.1.5 ChangWon <cwyoo@erumtec.com>
--> MAIL FROM:<pascal@xxx.com>
<-- 250 2.1.0 <pascal@xxx.com>... Sender ok
--> RCPT TO:<cwyoo@erumtec.com>
<-- 250 2.1.5 <cwyoo@erumtec.com>... Recipient ok
--> DATA
<-- 354 Please start mail input.
<-- 250 Mail queued for delivery.
--> QUIT


에 2) 비정상적인 경우 - VRFY부분이 인증이 왜 안될까요?
220 safechemicals.net ESMTP Sendmail 8.11.6/8.11.6; Fri, 20 Jun 2003 17:35:36 +0900
--> RSET
<-- 250 2.0.0 Reset state
--> HELO cwyoo
<-- 250 safechemicals.net Hello [220.72.160.206], pleased to meet you
--> VRFY cwyoo  <==== 이놈은 에러가 나네요
<-- 252 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try finger)
--> MAIL FROM:<pascal@xxx.com>
<-- 250 2.1.0 <pascal@xxx.com>... Sender ok
--> RCPT TO:<cwyoo@erumtec.com>
<-- 550 5.7.1 <cwyoo@erumtec.com>... Relaying denied. IP name lookup failed [220.72.160.206]

3  COMMENTS
  • Profile
    박상기 2003.06.21 04:33
    VRFY가 안되는 것은 그쪽 서버에서 그렇게 해 놓았기 때문입니다.
    Rcpt to를 먹여서 넘어오는 내용을 참고하세요

  • Profile
    유창원 2003.06.21 04:41



    정녕 서버에서 설정을 한다는 말씀이십니까?
    그럼 VRFY는 사용을 할 수가 없겠네요?
    RCPT 커맨드로만 사용자 확인을 할 수 가 있는 것입니까?
  • Profile
    박상기 2003.06.21 23:50
    네..그렇습니다. RCPT TO로 확인하셔야 합니다.
    • 아폴론
    • 2003.06.23 20:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바보감자
      2003.06.23 21:19
      안녕하세요 언제나 초보 바보감자입니다.. 채크 박스 올려놓고 이걸 테스트 해보시면..될듯 싶어요.. TCh...
    • 박찬희
    • 2003.06.23 20:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박서규
      2003.06.23 22:51
      가장 쉬운방법은 메시지를 보낼때 내부적으로 아이디나 특정 유니크한 값을 보내서 그 쓰데드를 구분하시고...
    • 박찬희
      2003.06.23 23:32
    • KDDG_ZZOM
      2003.06.23 20:34
      쿼리문에서 오류가 있는것같네요... 오픈하기전에 query.sql.text등으로 완성된 쿼리를 구해서 직접실행...
    • 바보감자
      2003.06.23 20:32
      안녕하세요 언제나 초보 바보감자입니다. SQL 문이 잘못된듯싶습니다. 한번 SQL문을 올려보심이..좋을듯 ...
    • 정현석
    • 2003.06.23 19:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 나그네
      2003.06.24 00:30
      bindcltqr70.bpl 을 component->install package에서 추가 하세요..
    • 몽중인
    • 2003.06.23 18:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_BaSTaD
      2003.06.23 23:19
      ==> 안녕하세요 전병호입니다. (_ _) 저도 TIdFTPServer를 이용해서 옆튀퓌써버를 맹길어 보긴했는데...
    • 몽중인
      2003.06.23 23:42
      답변 감사합니다. 오늘 집에 가시면 자료 좀 올려주시면 감사하겠습니다. 제가 스킬이 높지 못해서 (^^...
    • KDDG_BaSTaD
      2003.06.24 11:35
      ==> 잠자려고하니 문득 생각나서 올립니다. ^^;; 데모한번 만들어볼라다만.. TIdFTPServer 예제입니다...
    • 김정은
    • 2003.06.22 07:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이광철
      2003.07.05 06:17
      procedure TForm1.Button1Click(Sender: TObject); var    F: TextFile; begin ...
    • 남기섭
    • 2003.06.22 06:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바보감자
      2003.06.23 21:49
      안녕하세요 언제나 초보 바보감자입니다.. 쿼리나 테이블은 자기가 연결된 녀석들의 정보를 가지고 있는겁...
    • 송정철
    • 2003.06.22 04:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바보감자
      2003.06.23 20:29
      안녕하세요 언제나 초보 바보감자입니다.. 폼을 캡쳐하신후에. 퀵리포트에 이미지 콤포 하나 올려서 영역 ...
    • 이용주
    • 2003.06.22 02:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신연근
      2003.06.23 19:08
      Form의 이벤트에 보면 OnClick 에 해당하는 이미지 생성하면 되지 않을까여? 그럼..즐프..
    • 이병언
    • 2003.06.22 01:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바보감자
      2003.06.23 21:13
      안능하세요 언제나 초보 바보감자입니다. SetWindowPos( wnd, 0, 0, 0, clientwidth, clientheight, &nbs...
    • 이진성
    • 2003.06.22 00:11
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.06.22 01:11
      안녕하세요. 최용일입니다. 아마도 ValueA < ValueB 하고 ValueA mod ValueB > 0를 or 연산하실려...
    • 이진성
      2003.06.22 01:21
      최용일님.. 좋은하루되세요.. 감사합니다.. ^^
    • 손광현
      2003.06.24 22:03
      KeyDown 이벤트에 코딩하세요.. //Alt + F4 무시 procedure TForm1.FormKeyDown(Sender: TObject; var ...
    • 장재영
    • 2003.06.21 20:41
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하리수
    • 2003.06.21 18:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 수훈
    • 2003.06.21 08:17
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ^ㅡ^
      2003.06.21 19:59
      초보가 한 말씀 드리겠습니다. 이미지를 저장하시려면  그래픽파입이 있을꺼구요 경로를 저장...
    • 수훈
      2003.06.22 00:11
      여기에서 봤던 방법인데요 확실히 애러 없이 돌아가는데 이미지가 저장 안되네요. 크.!~~ 필드 타입을...
    • ^ㅡ^
      2003.06.22 01:44
      //답변이 되었으면 하네요 초보가... //어차피 이미지위에 그림을 올릴실꺼니까 이렇게 하시면 될꺼 ...
    • ^ㅡ^
      2003.06.21 20:05
      그러시면 뒤쪽 내용을 안 보여 주시면 되지 않나요?? 필드를 빼시면 될꺼 같은데요.. 그러면 가로 스크롤...
    • 박상철
    • 2003.06.21 06:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.06.21 08:04
      안녕하세요. 최용일입니다. 이벤트로는 할 수 없구요... 윈도우메세지를 이용하시면 됩니다... 크기...
    • 서영택
    • 2003.06.21 03:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.06.22 00:29
      Thread의 내용중에 Excute에 직접 Coding은 되도록 자제하시구여 특정 Procedure나 Function을 작성하시...
    • 서영택
      2003.06.28 01:04
      내용무
    • 유창원
    • 2003.06.21 03:33
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박상기
      2003.06.21 04:33
      VRFY가 안되는 것은 그쪽 서버에서 그렇게 해 놓았기 때문입니다. Rcpt to를 먹여서 넘어오는 내용을 참고...
    • 유창원
      2003.06.21 04:41
      정녕 서버에서 설정을 한다는 말씀이십니까? 그럼 VRFY는 사용을 할 수가 없겠네요? RCPT 커맨드로...
    • 박상기
      2003.06.21 23:50
      네..그렇습니다. RCPT TO로 확인하셔야 합니다.