Ответ 1
Наиболее очевидным ответом будет "не надо": уже есть много программного обеспечения для веб-почты, некоторые из которых основаны на PHP (если вы зависите от использования PHP, потому что у вас уже есть сервер на основе стека LAMP, для экземпляр).
Чтобы процитировать только несколько имен, все на основе PHP, вы могли бы посмотреть на них:
- SquirrelMail: довольно старый, и не очень сексуальный... Но вот уже много лет работает.
- Horde IMP: хорошо знаю и довольно мощный
- roundcube: возможно, самый "сексуальный" и "веб-2.0" в списке тех, кого я пробовал.
- AtMail: Я никогда не использовал этот, поэтому я не могу сказать гораздо больше...
Я использовал три первых списка в течение довольно продолжительного времени; roundcube был определенно самым "удобным", я бы сказал...
(немного погубив, вы можете найти еще много, но я думаю, что говорил о тех, которые наиболее часто используются)
Теперь, если вы должны настроить веб-почту, скажем, для вашей компании: definitly использовать уже существующее программное обеспечение:
- существующее программное обеспечение уже было бы "хорошим":
- многие люди используют его, а это означает, что многие люди говорят, что "это может быть сделано лучше" или "это не удобно", или... вы понимаете; все это сделало существующее программное обеспечение лучше : -)
- многие люди попытаются сломать такое приложение, что означает множество исправлений безопасности, что означает, что приложение, вероятно, более безопасно, чем вы будете писать в течение длительного времени...
- существующее приложение с открытым исходным кодом будет представлять сотни дней работы
- Вы действительно готовы потратить такое количество времени на то, что уже существует?
- если вы работаете в компании: готова ли ваша компания платить за один год? или даже, вероятно, больше? работая над тем, что уже существует?
- ты мне не веришь? Прочтите этот пост-блог: Код: Это тривиально; это о stackoverflow, но это было бы точно так же для программного обеспечения для веб-почты (за исключением того, что stackoverflow более поздний - и, вероятно, имел меньше ресурсов для кода, но это просто дикая догадка ^^)
В качестве побочного элемента: если ваша компания хочет, чтобы вы создали клон gmail, вы не будете (то же самое: сколько людей работает в gmail? Сколько программистов имеет ваша компания?) Сколько может ваша компания потратить на это?)...
И всего за пару долларов каждый год ваша компания может иметь "профессиональную" учетную запись Google для каждого из ее сотрудников, btw...
После этого, если вы все еще хотите/должны писать пользовательскую веб-почту вручную, используя стек LA * (M) * P, вам нужно знать хотя бы следующее:
- Как программировать в PHP
- Основы IMAP (даже если вы используете библиотеку/фреймворк, такое большое приложение потребует, чтобы вы знали некоторые вещи о базовых протоколах или никогда не узнаете "почему" или "как" что-то пошло не так)
- HTML/CSS/Javascript (с некоторыми знаниями о AJax - давай, это 2009!)
- Таким образом, ваше приложение проще в обслуживании (и добавление/переработка/изменение материала и исправление ошибок возможны), вы, вероятно, захотите использовать некоторые Framework и следовать некоторым шаблонам проектирования и передовым методам
- В качестве примера вы можете взглянуть на такие структуры, как symfony или Zend Framework
- Да, вы можете разрабатывать и применять без Framework, и/или без MVC... Но.. ergh...
Учитывая все это не проблема (если вы уже не совсем хорошо это понимаете и/или не имеете большого опыта, для приобретения этого может потребоваться не менее двух лет... Учитывая программирование и веб-разработка - это ваша работа на полную ставку), вы можете начать поиск доступа к почтовому серверу, используя, например, IMAP.
Здесь есть несколько возможностей. Я бы посмотрел, по крайней мере, перед тем, как выбрать, на этих двух:
- Расширение PHP IMAP
-
Zend_Mail
; возможно, он может использоваться вне Zend Framework, btw
Как только ваше приложение будет выполнено, вы, как мы надеемся, начнете получать пользователей, что означает по крайней мере три вещи:
- Отчеты об ошибках; они почти всегда срочные для пользователей - например, "OMG, я ничего не понимаю, больше ничего не работает, я должен получить свою почту прямо сейчас!"
- Запросы на эволюцию: пользователям всегда нужно больше таких вещей, как "Я видел это в gmail на моей личной учетной записи, как это у нас нет в нашей корпоративной учетной записи? Это инструмент, который мы используем для работы!"
- "Это слишком медленно, я не могу работать!"; то, пожалуйста, подумайте о масштабируемости и оптимизации при разработке/разработке приложения!
Здесь, опять же, вы готовы справиться с этим?
Ну, я думаю, я сказал достаточно; теперь, ваше время подумать: вам действительно нужно/нужно разрабатывать такое приложение с нуля?
Если у вас есть свободное время, , возможно, вы могли бы участвовать в уже существующем проекте с открытым исходным кодом?. Это может быть выгодно каждому; -)
Наконец, последнее: , если вы хотите работать над таким проектом просто для удовольствия, знать, что ему нравится, и больше узнать о веб-разработке, затем DO!
(Это, на мой взгляд, вероятно, единственная причина, которая оправдывала бы работу над этим, btw)
Во всяком случае, удачи! И/или получайте удовольствие!