2010-01-14 6 views
3

먼저 전자 메일 리콜이 거의 작동하지 않으며 일반적으로 Microsoft Exchange 서버에서만 작동한다는 사실을 알고 있습니다.SMTP 전자 메일 RECALL from PHP

제한 사항에도 불구하고 클라이언트가이 기능을 요청했습니다.

제 생각에는 Microsoft Exchange의 RECALL 기능은 SMTP 프로토콜의 독점 확장이며 클라이언트에게 RECALL을 요청하는 새 전자 메일을 보냅니다. 그런 다음 클라이언트는 메시지를 회수하기 위해 최선을 다합니다.

SMTP에 대한 RECALL 확장에 대한 문서가 없으며 wireshark를 아직 추적하지 않기를 기대합니다. 진행중인 SMTP의 RFC 확장에 대한 제안을 찾았습니다. http://tools.ietf.org/html/draft-leiba-morg-message-recall-00 및 Microsoft의 솔루션과 유사하다고 가정합니다.

우리의 해결책은 PHP에 기초한 것이므로 다음과 같이 묻습니다 : PHP에서 이전에 보낸 전자 메일에 대한 SMTP 회수 요청을 보내는 방법이 있습니까?

감사 Dagfinn

답변

3

나는이 SMTP와 아무 상관이 있다고 생각하지 않습니다.

Outlook 이외의 운영자 이메일 계정으로 리콜 메시지를 보내려고하면 단순히 이메일 메시지라는 것을 알 수 있습니다. 내 생각 엔 수신 Exchange 서버 또는 Outlook 클라이언트가 이러한 메시지를 인식하고 적절한 작업을 수행한다는 것입니다.

리콜 메시지의 내용은 전자 메일 헤더에 명백한 관심이 전혀없는 것처럼 보입니다. (내가 불행하게도, 지금에있어 일반 텍스트 형식으로 볼 수 없습니다) 메시지 본문은 단순히 말한다 :

홍길동이 메시지, "foo는 바 제목을"기억하고 싶습니다.

어쨌든 모든 PHP 이메일 라이브러리가이 상자를 지원한다고 생각합니다. 그러나 적절한 전자 메일 템플리트를 작성하고 제목, 이름 및 메시지 ID가있는 공백을 채워야하기 때문에 구현하기가 쉽습니다.

+1

+1 나는 이것보다 더 이상 없다고 생각한다. 올바른 헤더를 사용하여 PHP로 구현하기 쉬워야합니다. –

+1

리콜 메시지에 어떤 일이 발생하는지 파악하는 현명한 방법 :) 구현하기도 쉽습니다. 기회가있을 때 리콜 메일을 원시 텍스트 형식으로 게시 하시겠습니까? – dparnas

+0

@dparnas : 직장에서 집에 돌아 왔을 때 기억해 둡니다 :) 내 계정에 대한 SSH 액세스가 필요합니다. 여기서는이 계정이 없습니다. – csl

1

는 클라이언트가 특정 Exchange 및 RECALL과의 상호 운용성을 요구 하는가, 또는 그녀가 사용하고있는 그녀는 이후의 뭐죠의 예로?

후자 인 경우 전자 메일이 실제로 SMTP 서버로 전송되기 전에 유예 기간을 사용하는 대체 솔루션을 제안하는 것이 좋습니다. 사용자에게는 전자 메일이 전송 된 것처럼 보이지만 유예 기간 (예 : 10 분) 내에 전송을 실행 취소 할 수 있습니다.

- 알프는

+0

Alf. 예, 클라이언트는 전자 메일 메시지를 다시 호출 할 수 있어야한다고 명시합니다. 그러나 Microsoft Exchange에 대한 언급은 없습니다. 보내기 전에 유예 기간이 백업 솔루션이됩니다. – dparnas