복붙노트

[SPRING] 웹 응용 프로그램을 통해 메일 서버와 통신하는 방법

SPRING

웹 응용 프로그램을 통해 메일 서버와 통신하는 방법

나는 일반적으로 메일 서버에 익숙하지 않으므로 내 무지를 용서하십시오.

내 Spring 기반 웹 애플리케이션을 통해 메일 서버를 관리 할 수 ​​있어야한다. 관리에 의해, 나는 새로운 사용자를위한 메일 계정을 만들고, 그 사용자로부터 들어오는 업데이트를 듣고, 계정을 삭제하고, 사용자 계정을 삭제할 때 등등을 의미합니다.

나는 메일 서버 (적어도 좋은 것들)가 응용 프로그램이 연결하여 변경할 수있는 일종의 서비스 API (SOAP, REST, 상관 없다)를 제공한다고 가정합니다. 그러나, 나는 거기에 좋은 오픈 소스 서버가 무엇인지, 그리고 그들이 제공하는 옵션에 관해서는 실제로 익숙하지 않다.

누군가가 해결책을 제시 할 수 있다면 기쁠 것입니다.

해결법

  1. ==============================

    1.Zimbra라는 이름의 메일 서버가 있는데, 여기에는 REST 인터페이스와 SOAP 파일이있는 오픈 소스 커뮤니티 에디션이 있습니다.

    Zimbra라는 이름의 메일 서버가 있는데, 여기에는 REST 인터페이스와 SOAP 파일이있는 오픈 소스 커뮤니티 에디션이 있습니다.

  2. ==============================

    2.가능한 해결책은 일반 데이터베이스 플러그인에서 소프트웨어를 사용하는 것입니다. 웹 애플리케이션은 메일 서버와 상호 작용하지 않고 대신 mysql 데이터베이스의 users 테이블을 채운다. 가장 간단한 경우이 테이블에는 사용자 이름 필드와 암호 필드가 있습니다. 대부분의 실제 환경에서는 "사용자 비활성화"또는 "사용자가 IMAP으로 연결할 수 있음", "homedir / maildir 사용자 위치"와 같은 몇 가지 추가 필드가 필요합니다. 사용자가 새 도메인을 만들 수도있는 경우이를위한 표가 필요합니다.

    가능한 해결책은 일반 데이터베이스 플러그인에서 소프트웨어를 사용하는 것입니다. 웹 애플리케이션은 메일 서버와 상호 작용하지 않고 대신 mysql 데이터베이스의 users 테이블을 채운다. 가장 간단한 경우이 테이블에는 사용자 이름 필드와 암호 필드가 있습니다. 대부분의 실제 환경에서는 "사용자 비활성화"또는 "사용자가 IMAP으로 연결할 수 있음", "homedir / maildir 사용자 위치"와 같은 몇 가지 추가 필드가 필요합니다. 사용자가 새 도메인을 만들 수도있는 경우이를위한 표가 필요합니다.

    그런 다음 데이터베이스 백엔드가있는 메일 서버 소프트웨어가 필요합니다.

    사서함 호스팅을 위해 dovecot IMAP / POP3 서버를 사용할 수 있습니다. 사용자 할당량, 사서함 자동 생성 등과 같은 모든 멋진 기능을 지원합니다. 여기에 데이터베이스 백엔드로 dovecot을 구성하는 방법에 대한 문서가 있습니다. http://wiki2.dovecot.org/AuthDatabase/SQL

    실제로 stmp로 메일을 받으려면 MTA 소프트웨어가 필요합니다. 여기서 좋은 선택은 후위입니다. 사용자가 새 도메인을 만들 수있는 경우 postfix가 메일을 허용 할 도메인을 알려주는 mysql 구성을 추가해야합니다. 귀하의 도메인 요구 사항을 정확히 알지 못하기 때문에 나는 단지 당신에게 일반적인 후위 가상 도메인 호스팅 방법을 알려줄 것입니다 : http://www.postfix.org/VIRTUAL_README.html

    마지막으로 사용자가 메일을 보낼 수 있어야한다면 postfix에 SASL을 구성해야합니다. dovecot이 이미 구성되어 있다면 이것은 매우 간단합니다. postfix에 "이봐, 나는 이미 dovecot에 구성된 사용자 인증을 가지고있다. 다시는하고 싶지 않다. 그냥 비둘기에 말하고 그 일을하게하라." 문서는 다음 위치에 있습니다. http://www.postfix.org/SASL_README.html#server_dovecot

  3. from https://stackoverflow.com/questions/6423126/how-to-communicate-with-a-mail-server-through-a-web-application by cc-by-sa and MIT license