2011-04-05 4 views
5

smtp 프로토콜을 사용하여 전자 메일을 보내는 클라이언트가 있습니다. smtp를 지원하는 메일 서버 (예 : gmail, yahoo)에 대해 클라이언트를 구성 할 수 있습니다.smtp를 사용하여 전자 메일 보내기 및 메시지 ID 설정

이제 클라이언트에서 메일을 보내는 동안 헤더에 "message-id"를 설정하고 있습니다. 이제, 내 질문은 메일 서버가 실제 헤더를 전달하기 전에 헤더에서 설정 한 메시지 ID가 메일 서버에 의해 "다시 설정되거나"바뀌지 않을 것을 보장합니다.

예 : 내 클라이언트가 "[email protected]"에 대해 구성되었다고합시다. 이제 "[email protected]"으로 메일을 보내고 싶습니다. 따라서 클라이언트는 message-id를 "[email protected]"으로 설정하고 smtp를 사용하여 메일을 보냅니다.

이제 gmail이이 메시지를 야후로 보내면 내 message-id가 유지된다는 보장이 있습니까?

감사 쿠날

답변

0

메시지 ID는 메시지의 원래 서버를 이해하는 데 사용됩니다. 기술적으로 이는 메시지를 처리하는 첫 번째 메시지 서버에 의해 설정됩니다. 일단 설정하면 후속 서버에 간섭되지 않습니다. 귀하의 경우에는 smtp 클라이언트가 원래 서버로 작동하고 서버가 서버에 간섭하지 않습니다.

(당신이 어쨌든 메시지 ID로 뭐.)

+0

감사합니다. 나중에이 메일과 나중에 들어오는 메일 ("in-rely-to"헤더 사용)을 연관시킬 수 있도록 메시지 ID를 보관하려고합니다. 나는이 메시지를 클라이언트와 함께 유지할 것이다. 그런 다음 내 클라이언트는 POP3 프로토콜을 구현하여 메일 서버에서 메일을 가져옵니다. 그런 다음 지속 된 messageId를 사용하여 수신 메일의 "in-reply-to"헤더와 비교하여 메일을 서로 연관시킵니다. 따라서 메일 서버가 messageId를 변경하면 메시지 서버를 상관시킬 방법이 없습니다. 그 때 그것을하는 어떤 좋은 방법 있는가? – Kunal

+0

ISP의 SMTP 서버가이 ID를 생성 할 가능성이 높으므로 왜 생성합니까? 이것이 오늘날 이메일 클라이언트가 스레드/대화를 관리하는 방법입니다. –

+0

Gmail의 접근 방식을 시도해 볼 수 있습니다. 참조 메일/회신 요청 헤더가 이후 이메일에 설정되어있는 한 정리 된 제목 (RE :/FW : 등 삭제)에 따라 메일을 그룹화하려고합니다. (s) 가짜 값을 포함합니다. –

5

메시지-ID는 메시지가 처음 만들어 질 때 메일 시스템에 의해 할당 된 고유 한 문자열입니다. 이것은 또한 대부분의 경우 위조가 가능하지만 From : 행을 위조하는 것보다 좀 더 전문적인 지식이 필요합니다. 또한 Message-ID :는 종종 메시지가 시작된 실제 시스템이 아니라 발신자가 로그인 한 시스템을 식별합니다.

짧은 이야기 : 고객이 설정할 수는 있지만 그 방법대로 유지 될 것이라고 보장 할 수는 없습니다.