2009-07-28 3 views
1

웹 응용 프로그램을 통해 전자 메일을 보내고 싶습니다. 예를 들어 작업 관리자의 알림, 생일 알림, 날짜 및 시간을 프로그래밍하고 싶습니다. 그 순간에 이메일이 전송되었습니다.웹 응용 프로그램에서 프로그래밍 된 전자 메일을 보내는 가장 좋은 방법

나는 이것을 할 두 가지 옵션이 있다고 생각한다 : cron을 사용하거나 미래의 타임 스탬프로 이메일을 보내는 것.

cron을 사용하면 (데이터베이스를 쿼리하는) 명령을 실행하여 전자 메일이 있는지 확인하는 데 5 분이 걸릴 수 있습니다. 또는 다른 방법으로, 새로운 미리 알림을 저장할 때 지정된 시간에 새로운 crontab 작업을 (웹 응용 프로그램의 시스템 명령을 실행하여) 넣으십시오. 첫 번째 옵션으로 서버 부하가 과도하다고 생각합니다. 두 번째 옵션을 사용하면 수백 가지의 crontab 작업을 수행 할 수 있습니다.

아마도 미리 알림을 생성하는 순간 이메일을 보낼 수 있지만 이메일 타임 스탬프는 미래의 날짜와 시간으로 변경 될 수 있습니다. 나는 몇몇 전자 메일 서버가 이것을 관리 할 수 ​​있다는 것을 알고있다. (Mercur for Windows처럼), 표준인가? 내 Gmail 계정을 사용하여이 작업을 수행합니다. 그리고이 솔루션을 사용하면 알림을 생성 한 순간 이메일이 전송되었으므로 알림을 취소 할 수 없습니다.

서버 언어로 PHP 또는 Ruby (RoR)를 사용할 수 있으므로 언어는 중요하지 않습니다. 두 언어 모두 전자 메일을 보내고 시스템 명령을 호출 할 수 있기 때문입니다. 솔루션에 스크립팅이 필요하면 bash 스크립트, Perl, Python을 사용할 수 있습니다 (서버는 Linux 상자입니다).

이 문제에 대한 해결책을 제시하는 가장 좋은 방법이라고 생각되는 도구는 무엇입니까?

불쌍한 영어에 사과드립니다. 미리 감사드립니다.

답변

2

각 알림 (또는 알림)에 대해 cron 작업을 수행하는 대신 파일에 모든 내용을 쓰고 주기적으로 (예 : 5 분마다) 파일을 읽는 스크립트 (예 : php 스크립트)를 호출하고 체크 ... 알림 여부를 보낼지 여부를

당신이 그 해결책이 될 것입니다 모든 항목에 대한 크론 작업을 생성 할 필요없이 기능 ...

있을 것입니다?

관련

3

이에보고했는지 모르겠지만, Gmail을 사용하기 때문에 내가 당신이 관심이 될 줄 알았는데. Google 캘린더의 기능은 다음과 같습니다.

  1. Gmail로 이동하십시오.
  2. 상단에서 "캘린더"를 클릭하십시오.
  3. 왼쪽에는 캘린더 목록이 있습니다. 각각에는 "설정"이라는 작은 링크가 있습니다. 이 링크를 따라 가십시오 (이 프로젝트에 대한 새 달력을 만들 수 있습니다).
  4. 이렇게하면 탭 인터페이스가 나타납니다. 캘린더가 항상 '캘린더'탭으로 이동한다고 생각하지만 그렇지 않은 경우 탭을 클릭하십시오.
  5. 각 캘린더에는 "알림"이라는 링크가 있습니다. 통보하고 싶은 달력의 링크를 클릭하십시오.

그러면 이메일을 보내 알림을 설정하는 데 사용할 수있는 설정 목록이 나타납니다.

Google의 API를 사용하면 캘린더에 액세스하여 애플리케이션과 동기화 할 수 있어야합니다. 이메일을 보내도록 설정된 경우 모든 이메일을 처리합니다.

+0

개인화 된 텍스트로 HTML 이메일을 보내야하므로, 지금은 적합하지 않다고 생각합니다. 그것은 매우 유용한 팁이고, 나는 다른 프로젝트에서 그것을 사용할 것입니다, 고마워요 :) – ARemesal

+0

@ARemesal 나는 전자 메일 통지를 개인별로 지정할 수있는 방법이 있다고 생각하는데, 나는 15 초 안에 하나를 찾을 수 없었습니다. 인터넷 검색. 그것을 제외하고 나는 Atmocreations의 해결책 (cron + 여러 cron 작업을 피하기위한 스크립트)으로 갈 것이다. – Imagist

관련 문제