2010-07-29 4 views

답변

2

Indy의 TIdSMTP 구성 요소와 프록시를 사용하는 올바른 방법은 TIdIOHandlerSocket의 SocksInfo (Indy 9 이하) 또는 TransparentProxy (Indy 10) 속성을 사용하는 것입니다. 인디 (9) 및 그 이전

은 (에만 지원 SOCKS V4/4A/5 프록시)

  1. 가 TIdIOHandlerSocket.SocksInfo 속성에 TIdSocksInfo 성분을 할당 TIdSMTP.IOHandler 속성
  2. 에 TIdIOHandlerSocket 성분 할당 .
  3. 인디 10

은 (SOCKS, HTTP, 커스텀 프록시 지원)

  1. 가 TIdSocksInfo, TIdConnectThroughHttpProxy을 할당 TIdSMTP.IOHandler 속성 (TIdIOHandlerSocket에서 유래)를 TIdIOHandlerStack 성분을 할당 또는 다른 TIdCustomTransparentProxy 파생 구성 요소를 TIdIOHandlerSocket.TransparentProxy 속성에 추가합니다.
1

인디 구성 요소를 사용하십시오.

프록시가 사전에 알려진 경우 전자 메일을 보내기 전에 프록시 서버에서 인증해야합니다 (TidTcpClient 사용). 그런 다음 IdSmtp를 사용하여 전자 메일을 보냅니다. 형 프록시 유형 알 수없는 경우

또는

는 IdSocksInfo 및 IdIOHandlerSocket를 사용하려고합니다. idSMTP로 프록시 및 바인드하도록 조정하십시오.

+0

SMTP 세션은 프록시에 연결하는 데 사용되는 것과 동일한 소켓 연결에서 수행되어야합니다. 따라서 별도의 지시 사항을 함께 사용해야합니다. 알 수없는 프록시에 연결할 수는 없지만 연결할 때 TIdSMTP는 동일한 소켓을 사용해야합니다. Indy에는 이러한 기능이 내장되어 있습니다. –

0

이전에 사용한 적이 있다면 Indy 또는 다른 것을 사용 했습니까? 가지고있는 구성 요소 (인디, ICS, 기타)는 프록시 지원이 내장되어 있거나 (인터넷 구성 요소 세트의 속성을 살펴보십시오) 그렇지 않습니다. 그렇지 않은 경우 "Overbyte ICS"또는 Indy를 고려하십시오.

나는 Indy의 열렬한 팬이 아니다. 나는 그것을 사용했지만 Francois Piette의 Overbyte ICS 구성 요소로 옮겼다. 현재 ICS를 사용하지 않는 경우 두 가지를 모두 시도하십시오.

이것은 아마도 당신이 가고 싶었던 방식이 아니지만 (SMTP를 사용하고 싶다고 말했을 것입니다.) 미래의 사람들이 일을 할 수있는 방법을 찾는데 도움이되도록 Windows를 사용할 수 있다고 덧붙일 것입니다 MAPI 통합을 수행하고 JVCL 구성 요소 세트의 TJvMail을 사용하여 전자 메일 클라이언트 프로그램 (Thunderbird, Outlook)에서 현재 전자 메일 클라이언트의 "보낸 사람 주소"에서 원하는 전자 메일 주소로 메시지를 보냅니다.

관련 문제