장고/파이썬에서 Gmail 이메일 인터페이스를 만들고 있습니다. 주제와 날짜, 일종의 개요 수준 색인을 포함하는 모든 전자 메일의 골격을 만들고 싶습니다. 따라서 전자 메일이 삭제 되더라도 존재하는 지표와 보낸시기가 표시됩니다.IMAP의 고유 이메일 식별자
내 문제는 IMAP UID가 변경되었다는 것을 고려할 때 고유 한 전자 메일 식별자로 사용할 수있는 것은 무엇입니까? 데이터베이스의 고유 한 ID로 각 전자 메일의 스켈레톤을 만들지 만 전자 메일 UID 및 IMAP 폴더 이름을 연결하면 다른 전자 메일이 삭제 될 때 UID가 변경 될 수 있습니다.
이메일의 고유 식별자를 만드는 가장 좋은 해결책은 무엇입니까? 나는 (보낸 날짜, 제목) 조합을 사용하려고 생각했지만, 좀 더 간단한 것을 찾고있었습니다.
누군가 도울 수 있습니까?
는
문제입니다. UID는 세션간에 변경되지 않을 수도 있지만 ... 가능합니다. 다른 전자 메일이 이동되거나 삭제되는 경우 다른 전자 메일의 UID가 실제로 변경 될 수 있습니다. 또한 DB에 UID에 매핑을 저장하고 유효성을 저장해야하며 매번 UID 유효성을 검사해야하므로 매우 복잡해 보입니다. 더 간단한 시스템이 있어야합니다. –
@VascoPatricio 그래서 내 이해를 명확히하기 위해 DB에 몇 개의 필드를 저장하고 있습니다. IMAP 서버를 사용하여 필요한 경우 전체 이메일을 가져올 수 있습니까? –
Jon, 정확하게. 목표는 각 전자 메일에 대해 번거롭지 않은 식별자를 사용하는 것이므로 필요한 경우 GMail에서 실시간으로 검색 할 수 있습니다. 그렇지 않은 경우 그 빈 메시지가 있음을 알리는 빈 "해골"이 있습니다. UID/폴더 이름/UID 유효 날짜의 조합은 작동하지만 명백하게 복잡해 보입니다 ... –