2010-06-30 5 views
3

때때로 사용자 측의 잘못된 입력으로 인해 메일이 반송되고 수신자에게 도달하지 못했습니다. (Google 앱 엔진에서 전송)Google 애플리케이션 엔진에서 바운스 메일을 감지하는 방법은 무엇입니까?

어떻게 그러한 이메일을 감지합니까?

편집 : 난 내 질문에 명확하지 않았다 될 수있다 : 나는 (내가 사용자에게 경고 또는 이메일 ID를 삭제할 수 있도록) 반환했습니다 메일을 보낸있는 메일에 알고 싶은

. 이것은 전자 메일 바운스가 작동하는 방식과 관련이 있습니다. 일반적으로 바운스 메일은 보내지는 것과 똑같지 만 다른 정보를 가지고 있습니다. 어떤 이메일 헤더가 있는지 알기 위해 특정 헤더 나 그 밖의 헤더가 있습니까? ... 나는이 글을 쓰는 동안 알아낼 수 있다고 생각하는데, 나는 누군가에게 도움이되도록이 질문을 지키고있다.

나는 [email protected]에서 메일을 보내고 메일 수신 핸들러를 만듭니다. :)

그래서 app-engine (또는 모든 메일 서버)에서 전자 메일 주소를 허용하는 최대 길이는 얼마입니까?

답변

0

가장 쉬운 방법은 base64 또는 simiar 인코딩을 통해 이메일 주소를 인코딩 한 다음 주소의 접두어로 사용하는 것입니다.

[email protected]의 모든 주소는 보낸 사람의 올바른 이메일 주소입니다.

메일 수신 처리기를 만듭니다. 보낸 사람 문자열을 디코딩하고 원래 전자 메일을 보낸 사람에게 전자 메일 주소를 가져옵니다.

슬픈 것은 로컬 부분에 허용되는 최대 64 자 길이입니다. 이 경우 전자 메일 주소를 데이터 저장소에 저장하고 키를 로컬 부분으로 사용하여 전자 메일을 보낼 수 있습니다.

1

해당 주소에 대해 보낸 사람 주소 ([email protected])와 register a handler으로 앱 주소 중 하나를 사용하십시오. 그런 다음 응답 (자동 또는 기타)을 가로 채고 해석 할 수 있습니다.

+0

내 질문에 명확하지 않을 수 있습니다, 나는 당신의 대답에 대한 감사를 수정했습니다. – iamgopal

2

슬프게도 이것은 불가능합니다.

GAE는 이메일 메시지에 "Return-Path"헤더를 자동으로 추가합니다. 반송 된 메시지는이 헤더로 식별 된 주소로 전송됩니다. 이 헤더의 값은 수정할 수 없습니다.

자세한 내용은 http://code.google.com/p/googleappengine/issues/detail?id=1800을 참조하십시오.

+0

예, 눈치 채고 쳐다 봤습니다. – iamgopal

3

Google은 실제로 HTTP 요청을 통해 a method for receiving bounced messages을 추가했습니다. 그것은 당신의 애플리케이션 제목에 추가 필요 :

inbound_services: 
- mail_bounce 

요청이 /_ah/bounce 반송이 수신 될 때마다 공격하게됩니다 어느. 그런 다음 핸들러를 추가하여 바운스를 처리 할 수 ​​있습니다. 이러한 요청에서 추가 정보를 수집하는 방법에 대한 자세한 내용은 there 반송 메시지 처리 섹션을 참조하십시오.

관련 문제