2012-08-14 4 views
3

내가 javax.mail.Message 객체가 아닌 정확히 전자 메일 자체를 유지하기 위해 dbmail, Archiveopteryx, manitou 또는 James를 사용하여 고려 중이 야에 이메일을 지속. 그러나 dbmail의 경우에는 메시지를 실제로 보내고받을 때만 유용합니다.는 RDBMS

이 특별한 경우에는 Leafnode에있는 NNTP 메시지를 가져 와서 RDBMS에 넣으려고합니다. 이를 위해 dbmail은 많은 전자 메일 -> 데이터베이스 문제를 해결할 수있는 확립 된 프로젝트이기 때문에 흥미 롭습니다. 특히 their schema은 합리적으로 설계되었습니다.

GNU NNTP APIMessage을 사용하기 때문에이 컨텍스트에서 기복이 있습니다. (일부 NNTP 관련 기능이 누락되었습니다.)

dbmail 용 Java 드라이버가 없다고 가정하고 그 이유를 알 수 없으므로 Leafnode에서 dbmail로 메시지를 가져 오는 방법은 무엇입니까? 그냥 localhost에서 전자 메일을 보내시겠습니까?

부끄러워서,이게 얼마나 미친/바보 야? 더 나은 접근 방법이 있습니까?

많은 사람들이 여러 번 메일을 데이터베이스에 전달했습니다. 한 가지 예가 DBMail 프로젝트입니다. 또 다른 예로는 Microsoft Exchange 서버가 있습니다.이 서버는 관계형 데이터베이스를 사용하여 모든 것을 저장합니다.

http://www.memoryhole.net/~kyle/databaseemail.html

나는 교환이 RDBMS를 사용하는 이유를 알고 관심을 가질만한, 그 스키마가 어떻게 생겼는지, 아마도 몇 가지 교훈이있다.

+1

이메일을 저장하는 데 Apache James도 참조하십시오. (또한 nntp를 사용 했었습니다) – Mark

+0

은 여전히 ​​NNTP를 사용합니다! 아파치 공유는 NNTP 프로젝트 (GNU API보다 크게 못하다)를 가지고 있기 때문에 놀랍습니다. – Thufir

+1

OK 새 베타 버전 3은 NNTP를 수행하지 않습니다. – Mark

답변

1

얼마나 미친/바보 같은가?

키에주의해야한다는 말은 중요하지 않습니다. 헤더와 첨부 파일에 대해 생각해보고 카디널리티가 요구하는대로 테이블에서 분리하십시오. 그런 다음 날짜, 보낸 사람,받는 사람, 목록 ID 등을 기준으로 쿼리를 실행할 수 있습니다. 호기심이 생기면 1 일 단위로 첨부 파일 유형을 계산할 수 있습니다. ;-)

내가 교환 당신이 메일 메시지는 mbox 파일에 전달하는 방법으로주의 깊게 보는 경우 RDBMS

를 사용하는 이유를 알고 관심이있을 것입니다, 당신은 얼마나 감사하기 시작할 것 이런 종류의 일에 DBMS가 더 적합합니다. Microsoft가 Exchange를 작성하기 전까지는 이미 SQL 서버가 있었는데 입니다. 유닉스 메일 서버는 오래되었고 작업까지 무료 DMBS가 없었다. 문화적 이슈도 있지만 그것은 또 다른 이야기입니다.