Java 웹 앱인 경우 서버 부분은 서블릿입니다. 클라이언트 양식에서 보낸 전자 메일 메시지가 주어지면 서버는 해당 텍스트를 전자 메일로 보내야합니다.
Java EE 스택에이 작업을 수행하는 코드가 있거나 JavaMail을 구체적으로 다운로드 할 수 있습니다. 이렇게하면 프로그램이 메일 클라이언트로 작동 할 수 있습니다.
MTA는 서블릿에서 메시지를 수신하여 사용자에게 보냅니다. 여태까지는 그런대로 잘됐다.
하지만 사용자에게 우편함과 동일한 우편함이 필요합니다. Postfix, QMail 및 기타는 메일이 클라이언트가 선택하여 (일반적으로) 삭제 될 때까지 단순히 저장되는 기본 "플랫"메일 박스 모델을 제공합니다. POP3를 통해 액세스 할 수 있습니다. IMAP은 더 많은 조직 기능, 즉 중첩 된 사서함의 계층 구조를 지정하고 메일 함을 서로 전송하는 기능을 제공합니다. 당신은 아마도 모든 복잡한 것에 대한 GUI 프론트 엔드를 만들고 싶지 않을 것입니다. 그래서 IMAP 서버가 정말로 필요하지 않다고 생각합니다. 그러나 상대적으로 간단한 POP3 서버를 사용하여 서블릿이 TCP/IP를 통해 사서함에 액세스 할 수 있도록해야합니다. 이것은 대개 "표준"이메일 서버 패키지의 일부입니다.
자신의 도메인을 전세계에 알리려면 DNS 서비스의 MX 레코드에 액세스해야합니다. 즉 인터넷에 연결된 주소에서 하나 또는 두 개의 호스트를 자신의 호스트로 설정해야합니다. 우체국.
마지막으로 많은 문제를 해결하려면 MTA (SMTP 서버)를 오픈 릴레이로 사용할 기회가 없도록주의해야합니다. 즉, 사용자가 일반적으로 외부 세계에 메일을 보낼 수 없어야합니다 (또는 해커 은 웹 인터페이스를 악용하는 방법을 찾아으로 알려야 함). 인터넷 메일이 사용자에게 도달해서는 안됩니다. 가장 중요한 것은 인터넷의 메일을 인터넷의 다른 곳으로 전달할 수있는 방법이 없어야한다는 것입니다. 'net'에 open relay testing service (무료입니다.)을 찾아서 완료했다고 생각하면 구성에 대한 테스트를 실행하십시오.
편집
: Thorbjorn의 대답을 보면
, 당신은 아마 당신의 응용 프로그램을 통해 메일을받은 사용자를 싶지 않아 실현; 그들은 아마 이미 자신의 이메일 제공자와 계정을 가지고있을 것입니다. 이 경우받은 편지함 기능이나 POP3 서버에 대해 걱정할 필요가 없습니다. 당신은 당신의 도메인에서 완전한 이메일 서비스를 제공하는 것을 고려할 수 있습니다. 그러나 그것은 매우 감사 할 일이 아닙니다. 그리고 선택의 여지가 있다면, 그 더러운 일을 Gmail, Yahoo, Hotmail 및 그들의 ilk에 맡기십시오. 당신이 제공하는 서비스가 고객을 만족시킬 수는 없으며 매일 스팸 및 기타 범죄와 싸우게 될 것입니다.
라우터를 통해 전송 된 정보를 얻을 수있는 기업 인트라넷 사용자뿐만 아니라 일반 사용자가 서비스를 사용하기를 원한다면 http://www.codinghorror.com/blog를 읽어보십시오. /2010/04/so-youd-like-to-send-some-email-through-code.html 실제로 사람들이 해당 이메일을 _get_ 수신하도록하려면. –
@Marc이므로 가능한 경우 기존의 작동중인 SMTP 서버를 사용하는 것이 좋습니다. –
최소한 SMTP 서버가 있어야합니다. [이 답변] (http://stackoverflow.com/questions/3270995/is-smtp-server-required-to-send-mail-through-web-server-by-using-javamail-api/3271584#3271584)도 참조하십시오.). – BalusC