2011-04-14 4 views
3

전자 메일 알림 시스템을 MVC3 응용 프로그램에 통합하고 싶습니다. 따라서 사용자 작업이 완료되면 이메일 알림을받습니다. MVC를 처음 접했을 때 어떻게해야하는지에 대해 올바른 방향으로 지적하고 싶습니다.MVC 3 : 전자 메일 알림

많은 감사합니다, 당신은 이메일을 찾고처럼 나에게 소리 데일

답변

-1

은 마감 방식으로 발송하고, 이메일을 트리거하기 위해 사용자 동작에 의존하지하세요. 이런 일이 일어나기 위해서는 일정한 간격으로 확인하고 필요에 따라 이메일을 보낼 수있는 일종의 외부 프로세스가 필요합니다.

이 방법은 여러 가지가 있지만 웹 앱의 경우 가장 좋아하는 방법 중 하나는 백그라운드에서 실행되는 스크립트 나 서비스를 타이머에있는 웹 앱의 페이지에 닿게하는 것입니다. 그런 다음이 페이지는 데이터베이스를 확인하고 전송해야하는 이메일을 발송합니다. 또한 속도 제한 기능을 구축하여이 프로세스가 MVC 앱의 핵심 기능에 과도하게 세금을 부과하지 않도록 재미있는 일을 할 수 있습니다. (FogBugz는 사용자의 속도를 늦추지 않는 방식으로 보내거나 받아 들여야하는 이메일 대기열을 처리하기 위해 FogBugz를 사용합니다.)

다른 방법은 기본적으로 동일한 패턴입니다 이메일을 보내고 실제로 이메일을 보내는 논리는 MVC 앱에서 외부 프로세스로 옮겨진다.

실제 전자 메일을 전송하는 방법에 관해서는 .Net에서 전자 메일을 보내는 방법에 대한 빠른 Google 검색 (ASP.Net MVC3에 대해 이야기하고 있다고 가정 할 때)을 보내는 방법에 대한 전자 메일로 할 수있는 것보다

-1

나는 Dependency Injection이라는 개념을 익숙하게 시작한 다음 알림을 일반 모듈로 보내는 코드를 개발할 것입니다.

실제 알림 엔진은 응용 프로그램에 대해 알 필요가 없으며 전자 메일을 트리거하는 것이므로 수신자 그룹에 메시지를 보내기 만하는 것이 가능해야합니다. 이 구성 요소는있을 수 있지만 기본 응용 프로그램의 논리로 유출 될 수는 없습니다).

일단 그것이 tested이었고 당신이 필요로하는 것을 확신했다면, 필요에 따라 mvc 응용 프로그램에 간단히 주입 할 수 있습니다. 이렇게하면 응용 프로그램의 컨트롤러가 필요에 따라 알림 서비스를 사용하여 필요한 응용 프로그램 논리를 수행합니다.

이상적으로 MVC 앱에는 비즈니스 로직이 많이 포함되어서는 안되며, 앱의 로직을 수행하는 다양한 서비스에 대한 참조가 포함되어 있어야하며 컨트롤러는 서비스를 적절하게 사용하는 방법을 알아야합니다.

-1

나는 이러한 백그라운드 프로세스를 실행하기 위해 Quartz을 사용하는 것을 좋아합니다. Windows 서비스 또는 within ASP.NET에서 호스팅 할 수 있습니다.

전자 메일을 보내는 것 이외에도 중복 알림을 보내지 않으려면 알림을 보낼 때 저장해야합니다.