Есть ли почтовый сервер, написанный на PHP?

1679
mafu

Я хотел бы настроить почтовый сервер на одном из моих хостинговых компьютеров, который поддерживает только PHP. На этом компьютере не работает стандартный почтовый сервер.

Есть ли почтовые серверы, написанные на PHP? Или, возможно, даже написать почтовый сервер на PHP с точки зрения ограничений языка?

6

2 ответа на вопрос

4
afrazier

Ваша основная проблема заключается в том, что даже если вы написали или нашли почтовый сервер, реализованный на PHP, вы не сможете запустить его на своем хосте.

  • Веб-сервер, выполняющий ваши PHP-скрипты, прослушивает порт 80 (и, возможно, 443), а не 25, 587 или 465.
  • Сценарии будут прерваны веб-сервером после слишком долгой работы или использования слишком большого объема оперативной памяти.
  • Вы не сможете запустить скрипт как сервис на хосте.
  • Даже если бы вы могли, большинство из них будет иметь мониторы ресурсов, которые убивают долгосрочные сценарии.
  • Даже если это не проблема, привилегии root обычно требуются для прослушивания портов с меньшим номером (<1024).

Изменить: Все вышеперечисленное предполагает общий хостинг. Конечно, большинство из этих ограничений исчезают с VPS. Тем не менее, в этом случае вы можете установить соответствующие почтовые серверы, так что в любом случае это не имеет значения.

Помимо всего этого, нет особой причины, по которой никто не удосужился написать почтовый сервер на PHP, просто это не особенно полезное занятие.

У @ Linker3000 это правильно в ответе @ Игнасио : перейдите на хост, который даст вам то, что вы хотите.

+1, но вы делаете некоторые неверные предположения о PHP. Re # 1: stream_socket_server () и socket_accept () (хотя № 5, конечно, применяется). Re # 2: PHP-скрипты не обязательно являются CGI; они могут быть запущены из командной строки или в фоновом режиме, если необходим доступ. grawity 13 лет назад 2
@grawity: I'm aware that PHP doesn't necessarily mean "CGI", but is it possible to have a PHP script running as a CGI listen on another port? I've never needed to try. All the other items are still problems though. You did make me think of something else though... edit upcoming. afrazier 13 лет назад 0
Сервис, который я использую, размещен в облаке. К сожалению, я не знаю, должен ли я технически использовать какой-либо порт, но лично я не возражал бы установить какой-либо нестандартный используемый порт в моем почтовом клиенте. mafu 13 лет назад 0
3
Ignacio Vazquez-Abrams

Теоретически это возможно, но никто этого не делает, так как почтовый сервер - это большой, сложный зверь, и уже есть так много доступных на других языках.

Если это возможно, мне трудно поверить, что никто не пытался. mafu 13 лет назад 0
* кашель * Ну, люди, способные написать почтовый сервер, вероятно, не так уж много используют PHP ... Ignacio Vazquez-Abrams 13 лет назад 3
Было бы легче перейти на хост, который предлагает больше гибкости / функциональности. Linker3000 13 лет назад 1
@ Linker3000: По некоторым причинам, в моем случае переезд не возможен. mafu 13 лет назад 0

Похожие вопросы