PHP로 작성된 메일 서버가 있습니까?


6

PHP 만 지원하는 호스팅 된 컴퓨터 중 하나에 메일 서버를 설정하고 싶습니다. 해당 시스템에서 실행중인 표준 메일 서버가 없습니다.

PHP로 작성된 메일 서버가 있습니까? 또는 언어의 한계와 관련하여 PHP로 메일 서버를 작성할 수 있습니까?

답변:


4

근본적인 문제는 PHP로 구현 된 메일 서버를 쓰거나 찾더라도 호스트에서 실행할 수 없다는 것입니다.

  • PHP 스크립트를 실행하는 웹 서버는 25, 587 또는 465가 아닌 포트 80 (및 443)에서 수신 대기합니다.
  • 스크립트는 너무 오래 실행되거나 너무 많은 RAM을 사용한 후 웹 서버에 의해 종료됩니다.
  • 호스트에서 스크립트를 서비스로 실행할 수 없습니다.
  • 가능하더라도 대부분 실행되는 스크립트를 중지시키는 리소스 모니터가 있습니다.
  • 이것이 문제가되지 않았더라도 일반적으로 낮은 수 (<1024) 포트에서 수신하려면 루트 권한이 필요합니다.

편집 : 위의 모든 항목은 공유 호스팅을 가정합니다. 물론 이러한 제약 조건의 대부분은 VPS와 함께 사라집니다. 그러나이 경우 적절한 메일 서버를 설치할 수 있으므로 실제로 중요하지 않습니다.

이 외에도 PHP로 메일 서버를 작성하는 데 신경 쓰지 않는 특별한 이유는 없습니다. 특히 유용한 노력이 아니기 때문입니다.

@ Linker3000은 @Ignacio 의 답변에 바로 있습니다 : 원하는 것을 제공하는 호스트로 이동하십시오.


2
+1이지만 PHP에 대해 잘못된 가정을하고 있습니다. 다시 # 1 : stream_socket_server () 및 socket_accept () (물론 # 5가 적용되지만). 다시 # 2 : PHP 스크립트는 반드시 CGI 일 필요는 없습니다. 필요한 액세스 권한이 주어지면 명령 행 또는 백그라운드에서 실행될 수 있습니다.
grawity

@ grawity : PHP가 반드시 "CGI"를 의미하는 것은 아니라는 것을 알고 있지만 CGI로 실행되는 PHP 스크립트를 다른 포트에서 수신 할 수 있습니까? 시도 할 필요가 없었습니다. 다른 모든 항목은 여전히 ​​문제입니다. 그래도 다른 것을 생각하게 만들었습니다
afrazier

내가 사용하는 서비스는 클라우드 호스팅입니다. 슬프게도 기술적으로 어떤 포트를 사용해야하는지 모르겠지만 개인적으로 전자 메일 클라이언트에서 사용한 포트를 비표준으로 설정하는 것은 마음에 들지 않습니다.
mafu

3

이론적으로는 가능하지만 메일 서버는 크고 복잡한 짐승이며 이미 다른 언어로 작성된 많은 것들이 있기 때문에 아무도 그것을 할 수 없습니다


가능하다면 아무도 시도하지 않았다고 믿기가 어렵습니다.
mafu

3
기침 음, 메일 서버를 쓸 수있는 사람은 아마 PHP를 사용하지 않는 것이 훨씬 더 ...
이그나시오 바스케스 - 에이 브람스

1
더 많은 유연성 / 기능을 제공하는 호스트로 이동하는 것이 더 쉬울 것입니다.
링커 3000

@ Linker3000 : 특정 이유로, 제 경우에는 이동이 옵션이 아닙니다.
mafu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.