2011-02-11 3 views
2

인사말,Postfix : PHP로 이메일 보내기

누구든지이 전자 메일을 처리하기 위해 PHP 스크립트를 연 후지 서버에 전자 메일을 보내는 좋은 방법을 알고 있습니까? 나는 cron을 할 수는 있지만, 즉시 할 수있는 것을 선호합니다 ...

모든 포인터가 크게 감사하겠습니다. 사전에

많은 감사,

+0

가능한 모든 [새 전자 메일을 데이터베이스로 전송] (http://stackoverflow.com/questions/3258677/transfer-all-new-e-mails-to-a-database) – mvds

답변

3

당신은의 .forward를 사용할 수 있지만 아마도 가장 쉬운 방법은 프록을 구성하는 것입니다.

편집 : 이메일이 다음은 PHP 스크립트에 전달 얻을 것이다, [email protected]에서 오는 경우

:0 w 
* ^From.*[email protected] 
| php /path/to/script.php 

: 여기에 도움이 될 수있는 샘플 .procmailrc 규칙이 있습니다. 이 작업은 메일 서버와 통합 될 수있는 procmail로 수행되므로 MySql 설정은 아무런 영향을 미치지 않습니다.

+0

확실히 procmail을 살펴보십시오. 그것은 매우 무섭게 보입니다! 내가 가지고있는 문제는 모든 사용자들에게 이메일이 들어있는 vmail 폴더가 있다는 것입니다. Postfix/MySQL 설정을했습니다. – Eamorr

1

이와 같이 설정할 때 두 가지 옵션이 있습니다. 메일을 PHP 처리기로 파이프 할 수 있습니다. 한 번에 많은 메일을 처리해야하거나 우편 폭격이 발생하는 경우 약간 위험합니다. @B Mitch가 말했듯이, .forward 파일은 그 트릭을 할 것입니다.

[email protected]는 "| /our/script.php"

는 다른 방법으로, 당신은 클라이언트 인 것처럼 사서함에 연결 Zend_Mail_Storage 같은 것을 사용할 수 있습니다. Zend은 메일 구문 분석에 유용한 도우미를 제공합니다.

+0

mailbombed에 관한 좋은 지적입니다. inotify를 사용하여 내/home/vmail 폴더에서 변경 사항을 모니터링 할 생각입니다. – Eamorr

0

몇 가지 옵션이 있습니다. 가장 쉬운 방법은 사용자의 $ HOME에 |/path/to/your/script 이 들어있는 .forward 파일을 사용하는 것입니다.

단점 : 메일 당 한 번만 호출됩니다. 장점 : 정확히 한 명의받는 사람과 함께 호출되며 많은 매개 변수가 환경 변수를 사용하여 전달됩니다.