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
[7363] Re:ICS의 Smtp 컴포넌트 쓸 때, Open()후 바로 Mail() 못보내나요?
박지훈.임프 [cbuilder] 2004 읽음    2001-05-11 00:48
임펠리테리입니다.

저는 ICS의 SMTP 컴퍼넌트를 쓰지 않아서 확실한지는 모르겠습니다만,
(SakEmail이라는 다른 서드파티 컴퍼넌트를 뜯어고쳐서 씁니다)
ICS의 SMTP 컴퍼넌트에는 SmtpCli와 SyncSmtpCli 두가지가 있군요.
SyncSmtpCli라는 이름을 보면 이게 동기모드로 동작한다는 말인데, 거꾸로 생각하면 SmtpCli는 비동기로 동작한다는
말이 되네요. 비동기란 한 동작의 종료를 기다리지 않고 곧바로 다음 코드로 넘어가버리는 것이니 당연하다고 보이네요.

그럼 이만...


이경진 님이 쓰신 글 :
: 안녕하세요?
: ICS의 Smtp 컴포넌트를 쓰다 궁금한 것이 있어 적습니다.
: 부디 많은 분들의 조언을 부탁드립니다.
:
: 지금 TSmtpCli 컴포너트를 이용해서 메일을 보내려고 하는데요,
: Open()을 이용해서 서버에 연결한 다음, Mail()로 메일을 보내려 했습니다.
: 하지만 이 두 가지가 연속으로 실행되지는 않더군요.
: Open()을 하고, 별도로 준비한 버튼을 눌러 Mail()을 실행하면 메일이 잘 보내지는데요,
: 한 함수 내에서 Open()을 하고, 바로 Mail()을 보내면 오류가 납니다.
: 그래서 확인해보니 Connected 값도 연결상태가 아닌 것으로 나오고,
: State도 0이 아닌 다른 값으로 설정되어진 상태더군요.
: 그래서 이 두 값이 정상(Connected==true, State==0)이 될 때까지 while()을
: 실행하여 지연을 시켜보았는데요, 그랬더니 그냥 무한루프에 빠졌습니다.
:
: ShowMessage()를 띄우거나, 별도의 버튼을 놓아 Mail()을 보내는 등의 조치를 취하지 않으면 안되더군요.
: 어떻게 Open()후 Mail()을 실행하여 메일을 보낼 수 있는 방법은 없을까요?
: 제가 메일관련 프로그래밍을 해본적이 없는데다 ICS의 Smtp 컴포넌트 관련 도움말을 구하지 못해
: 그냥 때려잡으며 허우적거리고 있는 중이랍니다;;;
:
: 잘 아시는 분들의 답글을 기대하겠습니다. ㅠ_ㅠ
: 그럼~
:

+ -

관련 글 리스트
7350 ICS의 Smtp 컴포넌트 쓸 때, Open()후 바로 Mail() 못보내나요? 이경진 1835 2001/05/10
7363     Re:ICS의 Smtp 컴포넌트 쓸 때, Open()후 바로 Mail() 못보내나요? 박지훈.임프 2004 2001/05/11
7374         ICS는 안되는 걸까요?;;; Indy로 해결했습니다;;; 이경진 2035 2001/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.