이메일을 MySQL 데이터베이스에 백업할 수 있습니까? 나한테 계정이 있다고 해봐[이메일 보호됨]그리고 mail.domain.com 내부의 모든 이메일을 내 컴퓨터에 로컬로 기록하고 싶습니다.
인터넷에서 검색해본 결과, 메일 서버는 이메일을 텍스트 파일로 저장한다고 합니다. 그러니까 이 파일을 손에 넣을 수 있으면 로컬 컴퓨터로 전송한 다음 처리해서 데이터베이스에 저장할 수 있겠죠?
제 질문은 메일 서버에서 로컬 컴퓨터로 파일을 전송하는 방법입니다. 파일을 식별하는 방법은 무엇입니까?
어떤 예라도 대단히 감사하겠습니다.
미리 감사드립니다.
답변1
대부분의 메일 서버는 이메일을 "메일 폴더" 또는 "메일 디렉터리"에 저장합니다. "메일 폴더"는 각 폴더/범주에 모든 이메일이 차례로 저장되어 있음을 의미합니다. "Mail Dir"은 각 폴더가 실제로 해당 디렉토리의 단일 파일로 표시되는 각 메일 메시지가 있는 디렉토리임을 의미합니다.
이 메일 파일(실제로 메일 폴더 또는 메일 디렉터리를 의미함)을 받으면 이를 데이터베이스로 가져오는 스크립트를 작성할 수 있다고 말하는 것이 맞습니다.
메일 디렉토리/폴더를 식별하는 한 이는 귀하가 할 수 있는 일이 아니며 도메인의 "포스트마스터"가 어디에 있을 수 있으므로 귀하에게 조언을 제공하는 일입니다. Unix 시스템의 일반적인 위치에는 /var/spool/mail 및 ~mail이 포함되지만 이는 임의적입니다.
메일 폴더/디렉터리를 가져오는 대신 서버에 이를 제공하도록 지시하는 것입니다. 시나리오에 따라 받은 편지함에 모든 이메일이 있고 공급자가 "POP3" 프로토콜을 사용하는 경우 각 메일을 가져와 처리하는 메커니즘을 스크립트로 작성할 수 있어야 합니다. POP3는 말하기에 매우 간단한 프로토콜입니다. IMAP을 사용하여 비슷한 작업을 수행할 수 있습니다. 그러면 모든 파일에 액세스할 수 있지만 사용하기가 훨씬 어렵고 도움을 주기 위해 프레임워크/라이브러리가 필요할 수 있습니다.
메일 메시지 자체는 매우 간단합니다.
두 줄로 구분된 헤더와 본문으로 구성됩니다. 헤더를 구문 분석하여 메시지의 보낸 사람, 받는 사람, 제목, 날짜 등을 얻을 수 있습니다. 본문은 텍스트이거나 여러 섹션으로 나눌 수 있으며 각 섹션은 일반적으로 Base64로 인코딩됩니다(그러나 이에 대한 대안도 있습니다). 예를 들어 다음과 같습니다. HTML과 텍스트가 모두 포함된 이메일을 받거나 이메일에 첨부 파일이 포함된 이메일을 받습니다.