Outlook에서 imapsync 마이그레이션 날짜 수정
imapsync 마이그레이션이 Outlook에서 날짜를 망가뜨리는 이유
imapsync를 --syncinternaldates와 함께 실행했습니다. 로그를 확인했습니다. 모든 것이 깨끗해 보였습니다. 그런데 Outlook을 열어보니 마이그레이션된 사서함의 모든 이메일이 같은 날짜를 표시합니다. 무슨 일이 일어난 걸까요?
사실 대부분의 관리자가 놓치는 부분이 있습니다. INTERNALDATE와 Received 헤더는 완전히 다른 두 가지 날짜 메커니즘이며, Outlook은 imapsync가 보호하는 것을 사용하지 않습니다. --syncinternaldates 플래그는 imapsync에게 IMAP INTERNALDATE(각 메시지와 함께 저장된 서버 측 타임스탬프)를 보존하도록 지시합니다. imapsync는 대부분의 경우 이를 올바르게 수행합니다. 하지만 대상 서버가 업로드된 메시지를 처리할 때 이메일 헤더 체인의 맨 위에 새로운 Received 헤더를 추가합니다. 이 헤더는 메시지가 업로드된 정확한 시점인 마이그레이션 타임스탬프를 담고 있습니다.
Outlook의 "받은 날짜" 열은 INTERNALDATE가 아닌 이 Received 헤더에서 읽습니다. 따라서 imapsync가 서버의 INTERNALDATE를 완벽하게 보존했더라도 Outlook은 이를 무시하고 대신 Received 헤더의 마이그레이션 날짜를 표시합니다. 직접 확인할 수 있습니다. 같은 서버에 raw IMAP 클라이언트로 연결하여 INTERNALDATE에 대한 FETCH 명령을 실행하면 올바른 날짜를 볼 수 있습니다. 하지만 Outlook은 여전히 잘못된 날짜를 표시합니다.
INTERNALDATE와 Received 헤더 간의 이 불일치는 수년에 걸쳐 수천 명의 관리자를 좌절시켜 왔습니다(imapsync 날짜 문제에 대한 시스템 관리자 포럼 스레드를 확인해 보세요. 혼란이 도처에 있습니다). imapsync 문서는 INTERNALDATE 보존에 크게 집중하여 관리자에게 잘못된 안심감을 줍니다. Received 헤더 문제는 완전히 별개의 이슈이며, --syncinternaldates는 이것을 해결하도록 설계된 적이 없습니다.
깨진 날짜가 Outlook에서 실제로 어떻게 보이는가
imapsync 마이그레이션 후 Outlook을 열고 받은 편지함을 날짜별로 정렬합니다. 지난주에 보낸 이메일이든 2017년 이메일이든 모든 이메일이 같은 날짜에 있습니다. "받은 날짜" 열이 모든 이메일에 마이그레이션 타임스탬프를 표시합니다. 30,000통의 이메일을 스크롤합니다. 같은 날짜. 같은 날짜. 같은 날짜. 6개월 전의 특정 이메일을 찾으려고요? 행운을 빕니다. Outlook의 날짜 기반 검색은 모든 메시지가 같은 날짜 범위에 해당하기 때문에 모든 것 또는 아무것도 반환하지 않습니다.
문제를 발견한 관리자들은 일반적으로 잘못된 방향에서 수 시간을 허비합니다. OST 파일을 재구성하고, Outlook 프로필을 삭제하고 다시 만들고, 로컬 캐시를 지우고, Office를 재설치하기도 합니다. 아무것도 작동하지 않습니다. 문제가 Outlook에 있는 것이 아니기 때문입니다. 메일 서버에 있는 이메일 헤더에 있습니다. Outlook은 헤더가 알려주는 것을 올바르게 표시하고 있습니다. 헤더가 잘못된 것입니다. 유일한 해결 경로는 영향을 받은 모든 메시지에 대해 서버 수준에서 Received 헤더와 INTERNALDATE를 수정하는 것입니다.
Redate.io는 메일 서버에 직접 연결하고 메시지별 검증이 포함된 안전한 저수준 메시지 처리 프로세스를 실행합니다. 각 이메일은 Received 헤더 체인에서 imapsync 마이그레이션 시그니처를 감지하기 위해 분석되며, 합법적인 배달 헤더와 마이그레이션 중 주입된 헤더를 분리합니다. 수정된 메시지는 모든 원본 헤더, 첨부 파일 및 플래그를 유지합니다. Redate.io는 모든 표준 IMAP 서버(Dovecot, Courier, Cyrus, Exchange 또는 imapsync 마이그레이션의 대상이었던 기타 IMAP 호환 플랫폼)의 사서함을 처리합니다.
자주 묻는 질문
--syncinternaldates를 사용했는데 Outlook에서 여전히 잘못된 날짜가 표시됩니다. 왜 그런가요?
--syncinternaldates 플래그는 IMAP INTERNALDATE를 보존하지만, Outlook은 날짜 표시에 Received 헤더를 읽습니다. 대상 서버는 마이그레이션 중 업로드 타임스탬프가 포함된 새 Received 헤더를 추가하며, 이것이 Outlook이 표시하는 것입니다. 이것은 별도의 수정이 필요한 두 개의 서로 다른 날짜 소스입니다.
이메일 헤더를 수동으로 편집하여 날짜를 수정할 수 있나요?
이론적으로는 각 이메일을 다운로드하고, 헤더를 수정하고, 서버 사본을 삭제하고, 올바른 INTERNALDATE로 다시 업로드해야 합니다. 수천 통의 이메일이 있는 사서함에 이것은 현실적이지 않습니다. Redate.io는 각 메시지에 대한 내장 검증을 통해 전체 프로세스를 자동화합니다.
Redate.io는 imapsync 대상이었던 모든 IMAP 서버에서 작동하나요?
네. Redate.io는 모든 표준 IMAP 서버(Dovecot, Courier, Cyrus, Exchange 등)를 지원합니다. imapsync 마이그레이션을 수신한 서버에 관계없이 Redate.io가 연결하여 날짜를 수정할 수 있습니다.
날짜 수정이 첨부 파일이나 플래그 같은 다른 이메일 데이터에 영향을 미치나요?
아닙니다. Redate.io는 날짜 관련 메타데이터만 수정합니다. 모든 메시지 내용, 첨부 파일, 읽음/안 읽음 상태, 폴더 배정 및 플래그가 그대로 보존됩니다. 수정된 모든 메시지는 원본이 백업 위치로 이동되기 전에 검증됩니다.