2012-08-28 2 views
0

SocketBeginReceive을 전자 메일의 데이터 수신에 사용하고 있습니다.BeginReceive로 POP3 전자 메일 읽기가 특수 문자로 잘못 처리됩니다.

은 내가 StringBuilder 그것은하지만 StringBuilder 이상한 문자로 하였다 작동 object state

에서 BeginReceive 방법의 마지막 위치에 넣어 만듭니다. 대신 이메일 (주앙 Gelásio)에 기본 포르투갈어 이름, 그것은 나타납니다 조 = E3o 젤 = E1sio

문제가 StringBuilder 구성 또는 내가 몇 가지 작업을 수행해야하는 경우 나는 이해할 수 없다 이메일을 BeginReceive으로 읽을 때 속임수를 쓰십시오.

아무도 도와 줄 수 있습니까? 사전

답변

0

그것은 작동하지만 StringBuilder에 이상한 문자로했습니다에서

감사합니다. 대신 이메일 (주앙 Gelásio)에 기본 포르투갈어 이름의, 그것과 같은 조 = E3o 젤 = E1sio

quoted printable 인코딩에있는 텍스트의 단지 문제가 나타납니다. 이것을 지정하는 헤더가 있어야합니다.

비동기 API를 사용하는지 또는 동기 API를 사용하는지 여부와 아무 관련이 없습니다.

이상적인 경우 사용자 고유의 저수준 처리기를 작성하는 대신 POP3를 처리하는 전용 메일 API를 사용하십시오. 이 모든 것을 다 커버해야합니다.

+0

이 작업을 수행하는 데 메일 API가 사용됩니다.하지만이 기능은 지원되지 않습니다. 사서함에서 메일을 볼 때 모든 것이 정상입니다. –

+0

@ Gelásio : 소켓에 직접 이야기하고 있다면 메일 API를 사용하지 않는 것입니다. 그렇지 않으면 매우 얇은 것입니다. 메일 클라이언트가 프로토콜 (인용 가능한 인쇄 가능 포함)을 올바르게 이해하기 때문에 예, 사서함에서 정상적으로 작동 할 것으로 예상됩니다. –

+0

저는 이것을 사용하고 있습니다 : http://www.koders.com/info.aspx?c=ProjectInfo&pid=7T61R6FGAWR5AG6AM1VETW6K1A&s=socket –