2012-12-11 2 views
0

누군가가 가입했음을 알리는받은 편지함이 5000 통 이상 있습니다. 전자 메일 본문에는 데이터베이스에 저장하려는 전자 메일 주소와 이름이 있습니다.내받은 편지함에 저장된 이메일의 이메일 데이터베이스 만들기

Q) 어떻게 이것을 데이터베이스로 가져올 수 있습니까? 이상적으로 mysql.

내가 가장 익숙한 PHP에서 이상적으로하고 싶습니다. OpenLDAP를

UPDATE : 내가 함께 iRedMail을 사용하고

내가이 발견되면 이미 Plan Cake Email Parser를 사용하여 실제 이메일 파서를 쓴 질문을 게시하기 때문에, 문자 그대로 5 분했다.

업데이트 2 : 나는 데이터베이스에서 원하는 모든 이메일을 별도의 IMAP 폴더로 옮겼습니다.

하지만 검색을 할 때 아무 것도 반환하지 : 찾기는/var/vmail -name '가입자'타입 D -

UPDATE 3 : 또 다른 대안은 이미 내 이메일 클라이언트에서 다운로드 한 이메일을 가지고있다

  • 가입자-1
  • 가입자-1.msf
    1. Subscribers.msf : 내 프로필을 확인할 때 로컬 썬더 버드 윈도우 7을 사용 나는 관련 3 개 개의 파일을 볼 수 있습니다
    +0

    미래에 DB에 직접 저장할 수 있기를 바랍니다. –

    답변

    1

    진짜 까다로운 부분은 이메일을 구문 분석하지 않고 서버에서 이메일을받는 것입니다. 이 작업을 수행 할 수있는 방법은 세 가지가 있습니다.

    1. PHP의 imap 라이브러리 http://php.net/manual/en/book.imap.php을 사용하십시오. 나는 개인적으로 그 일을별로 다루지 않았지만 모든 이메일을 가져 오는 중이므로 유용 할 수 있습니다. 단점은 다른 메일을 모두 가져 오는 것입니다.
    2. 제 3 자 서비스를 사용하여 imap을 처리하고 간단한 REST 인터페이스를 통해 이메일을 노출하십시오. 이상적으로 핵심 용어 ("사용자가 가입 한")를 검색 한 다음 구문 분석하는 것이 좋습니다.
    3. offlineimap을 사용하여 모든 이메일을 Maildir로 다운로드하고 localy로 저장하십시오. 이제 PHP를 사용하여 모든 이메일을 검색 할 수 있으며 여기에서 버전을 더 빠르고 쉽게 테스트 할 수 있습니다.

    구문 분석에 관해서는, 나는 개인적으로 추출 할 정보가 포함 된 메일을 찾을 수 grep를 사용하는 것이 좋습니다, 그리고 awk은 CSV 파일에이 정보를 변환 할 수 있습니다. PHP를 사용하여 텍스트 처리를 할 수 있지만 이러한 작업을 수행하는 데 훨씬 쉽고 빠릅니다.

    이제 데이터를 MySQL로 쉽게 푸시 할 수 있습니다.

    관련 문제