2011-05-02 5 views
0

에는 라이브러리/클래스/코드 스 니펫/etc가 있습니다. 그게 내가 직접 PHP에서 메일을받을 수 있습니까?메일 수신을위한 MTA, PHP

다른 프로세스에서 서버를 추가로 실행하지 않아도 이미 실행중인 PHP 프로세스에 메일을 보내야합니다.

나는 잠시 동안 둘러 보았지만, "php"와 "mail"또는 "mta"/ "smtp"에 대한 검색 결과는 주로 메일을 보내거나 pop3 또는 imap을 사용하여 검색하는 데 초점을 맞 춥니 다.

는 는 메일을 잃어버린 것은 [편집]

난 할 노력하고있어하는 것은 너무 분명 (PHP 단위) IRC 봇이 실행되지 않을 때, 앞으로 IRC를 채널에 메시지입니다하지 않습니다

큰 거래. 그러나 메일을 수신하고 IRC에 게시하는 사이에 대기 시간이 짧습니다.

답변

1

MTA로 작동하도록 자신의 SMTP 서버를 작성하는 것은 큰 일입니다. http://cloudmailin.com을 살펴볼 수 있습니다. CloudMailin을 사용하면 들어오는 전자 메일을 HTTP Post로받을 수 있으며 전자 메일을 PHP 응용 프로그램에 직접 보내는 MTA 역할을합니다.PHP 응용 프로그램은 이메일을 처리하여 IRC 채널로 보낼 수 있습니다.

+0

이런 일이 이미 자신의 컴퓨터에 설치하는 소프트웨어로 존재하지 않는다는 것에 너무 슬퍼합니다. 하지만 고마워! – Dexter

0

이 시도 : 인터넷 검색의 http://www.php.net/manual/en/refs.remote.mail.php

10 초. SMTP는 메일 릴레이를 실행하는 모든 상자의 유닉스 전통으로 인해 메일 클라이언트가 메일을 보내는 데 필요한 프로토콜입니다.

POP3 및 IMAP은 메일 클라이언트의 메일 액세스를 제공합니다.

+0

이것은 기존 MTA와 상호 작용하기위한 것으로, 이는 기존 MTA를 대체하지 않습니다. –

+0

그것이 SMTP가 지정하는 것입니다 : 다른 STMP 서버와 상호 작용하는 방법. –

+0

메일 수신에 아무것도 없습니다. – Dexter

0

MTA (메일 전송 에이전트)는 메일을 위치간에 이동시키는 데 사용되는 응용 프로그램 (예 : sendmail, exim)입니다. 내가 아는 한, PHP에는 MTA가 코딩되어 있지 않다. PHP는 메일 전송을 처리 할 클래스와 스크립팅을 제공하지만 기존 MTA를 통해 처리합니다.

찾고있는 것을 수행하기 위해 주어진 PHP 스크립트를 통해 메일을 전달하도록 MTA를 구성 할 수 있어야합니다.

2

필자는 PHP에서 경쟁 SMTP 서버를 본 적이 없으며 놀라지 않습니다. 나는 그 길을 가고 싶지 않다고 생각합니다. 나는이 작업을 수행하는 두 가지 다른 방법을 생각할 수 있습니다 :

  1. 사용 프록 (또는 유사) 기존 SMTP 서버와 당신의 PHP 스크립트에 메시지를 전달하는 규칙을합니다. 아주 간단하고 그것은 메시지가 수신되는 순간 스크립트를 시작합니다.

  2. 기존 메일함에 메일을 전달한 다음 PHP 스크립트에서 POP 또는 IMAP을 통해 새 메일을 지속적으로 폴링하도록합니다. 새 메시지가 보이면이를 IRC로 전달하고 삭제하십시오. 메시지를 표시하는 데 걸리는 시간은받은 편지함을 폴링하는 빈도에 따라 다릅니다.

+0

+1 procmail. 기존 전자 메일 계정으로 작업하는 경우 fetchmail> procmail> PHP는 간단하고 효과적인 흐름입니다. – Schwartzie

1

여러분의 SMTP 서버를 작성하는 것은 엄청난 작업입니다. 이 길로 가지 마십시오. 이미 완료된 작업을 복제하는 데 엄청난 시간을 낭비하게됩니다. '큰'SMTP 서버 (postfix, exim, sendmail 등) 중 하나를 선택하고 그걸로 가십시오.

포트 25를 수신 대기하는 작은 스크립트를 설정하는 것이 트릭을 수행한다고 생각하지 마십시오. SMTP 서버는 엄청나게 복잡한 짐승이며 포트 25 소켓을 설정하는 방법은 작업의 0.00000000000000000000000000000000001 %를 차지할 가능성이 높습니다. (이 숫자는 완전히 사실입니다. 나는 그것이 내게 어떤 느낌인지 물었습니다.

+0

큰 서버 중 하나를 선택하는 것도 많은 작업입니다. 특히 PHP 스크립트에 메일을 보내는 것과 같이 표준이 아닌 작업을 수행하도록 구성하는 방법을 알아야 할 때 특히 그렇습니다. 나는 포트 25에서 듣는 간단한 스크립트를 갖는 것이 그렇게 나쁜 것은 아닐 것이라고 생각한다 ... – Dexter

+0

PHP 스크립트로 메일을 보내는 것은 사용자를 생성하고 .forward를 그 사용자의 집 dir에 넣어 메일을 스크립트. 주요 SMTP 서버는 모두이를 직접 지원합니다. –