Как вы строите почтовый клиент на основе PHP с помощью PHP?

23
задан Robert Greiner 28 July 2009 в 15:48
поделиться

7 ответов

Наиболее очевидным ответом будет « не »: уже существует множество программ для веб-почты, некоторые из которых основаны на PHP (если вы полагаетесь на используя PHP, потому что у вас уже есть сервер, основанный, например, на стеке LAMP) .

Чтобы процитировать только несколько имен, все основанные на PHP, вы можете взглянуть на эти:

  • SquirrelMail : довольно старый, и не очень сексуальный ... Но делает свою работу годами
  • Horde IMP : тоже хорошо знакомый, и довольно мощный
  • roundcube : возможно, самый «сексуальный» и «веб 2.0» из списка тех, что я пробовал
  • AtMail : Я никогда не использовал его, поэтому не могу сказать больше ...

Я ' я довольно давно использовал три первых в списке; roundcube определенно был самым "

  • многие люди используют его, что означает, что многие люди, которые сказали « это можно было бы сделать лучше », или « это неудобно для пользователя », или ... вы получаете точка ; все это сделало существующее программное обеспечение лучше : -)
  • многие люди попытаются взломать такое приложение - что означает множество исправлений безопасности, что означает, что приложение, вероятно, более безопасно, чем вы напишете в долго ...
  • существующее приложение с открытым исходным кодом будет представлять сотни дней работы
    • действительно ли вы готовы потратить такое количество времени на то, что уже существует?
    • если вы работаете в компании: готова ли ваша компания платить вам за один год? или даже, вероятно, больше? работаете над чем-то, что уже существует?
    • вы не делаете ' не верите мне? Прочтите это сообщение в блоге: Код: Это тривиально ; речь идет о stackoverflow, но это было бы точно так же для программного обеспечения веб-почты (за исключением того, что stackoverflow появился позже - и, вероятно, имел меньше разработчиков кода; но это просто дикая догадка ^^ )
  • В качестве примечания: если ваша компания хочет, чтобы вы создали клон Gmail, вы не будете (то же самое: сколько людей работали над Gmail? Сколько программистов у вашей компании? Сколько ваша компания может потратить на это ?) ...
    И всего за пару долларов в год ваша компания могла бы иметь " professionalnal " аккаунт Google для каждого из своих сотрудников, кстати ...


    После всего этого, если вы все еще хотите для написания пользовательской веб-почты, сделанной вручную с использованием стека LA * (M) * P, вам необходимо знать как минимум следующее:

    • Как программировать на PHP
    • Основы IMAP (даже если вы используете библиотеку / фреймворк, такое большое приложение потребует от вас некоторых знаний о базовых протоколах, иначе вы никогда не поймете, «почему» или «как» что-то пошло не так)
    • HTML / CSS / Javascript (с некоторыми знаниями AJax - давай, это 2009 год!)
    • Таким образом, ваше приложение легче поддерживать (и возможно добавление / переработка / изменение материала и исправление ошибок) ,вы, вероятно, захотите использовать какой-нибудь Framework и следовать некоторым шаблонам проектирования и лучшим практикам
      • В качестве примера вы можете взглянуть на такие фреймворки, как symfony или Zend Framework
      • . Да, вы можете разрабатывать и применять без Framework и / или без MVC .. . Но .. эээ ...

    Учитывая, что все это не проблема (Если вы уже не совсем хороши в этом и / или не имеете большого опыта, это может потребоваться как минимум пара лет, чтобы приобрести это ... Учитывая, что программирование и веб-разработка - это ваша постоянная деятельность) , вы можете начать думать о доступе к почтовому серверу, используя, например, IMAP.

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


    Как только ваше приложение будет готово, вы (надеюсь!) начнете получать пользователей, что означает как минимум три вещи:

    • Ошибка- отчеты; они почти всегда срочные для пользователей - например, « OMG, я не понимаю, что больше ничего не работает, мне нужно получить почту ПРЯМО СЕЙЧАС! »
    • Запросы на эволюцию: пользователи всегда хочется больше таких вещей, как « Я видел это в Gmail в моей личной учетной записи; почему у нас этого тоже нет с нашей корпоративной учетной записью? Это инструмент, который мы используем для работы! «
    • » Это слишком медленно, я не могу работать! "; тогда, молитесь, чтобы вы думали о масштабируемости и оптимизации, когда проектировали / разрабатывали приложение!

    Опять же, вы готовы с этим справиться?


    Ну, я думаю, я сказал достаточно; Теперь пришло время подумать: действительно ли вы хотите / вам нужно разработать такое приложение с нуля?

    Если у вас есть немного свободного времени, , возможно, вы могли бы принять участие в уже существующем, с открытым исходным кодом, проект? Это может быть выгодно каждому; -)


    И последнее: если вы хотите работать над таким проектом просто для развлечения, чтобы узнать, что это такое, и узнать больше насчет веб-разработки, тогда ДЕЛАЙТЕ!
    (Это, на мой взгляд, вероятно, единственная причина, по которой можно было бы работать над этим, кстати)


    В любом случае, удачи! И / или получайте удовольствие!

    Думаю, я сказал достаточно; Теперь пришло время подумать: действительно ли вы хотите / вам нужно разработать такое приложение с нуля?

    Если у вас есть немного свободного времени, , возможно, вы могли бы принять участие в уже существующем, с открытым исходным кодом, проект? Это может быть выгодно каждому; -)


    И последнее: если вы хотите работать над таким проектом просто для развлечения, чтобы узнать, что это такое, и узнать больше насчет веб-разработки, тогда ДЕЛАЙТЕ!
    (Это, на мой взгляд, вероятно, единственная причина, по которой можно было бы работать над этим, кстати)


    В любом случае, удачи! И / или получайте удовольствие!

    Думаю, я сказал достаточно; Теперь пришло время подумать: действительно ли вы хотите / вам нужно разработать такое приложение с нуля?

    Если у вас есть немного свободного времени, , возможно, вы могли бы принять участие в уже существующем, с открытым исходным кодом, проект? Это может быть выгодно каждому; -)


    И последнее: если вы хотите работать над таким проектом просто для развлечения, чтобы узнать, что это такое, и узнать больше насчет веб-разработки, тогда ДЕЛАЙТЕ!
    (Это, на мой взгляд, вероятно, единственная причина, по которой можно было бы работать над этим, кстати)


    В любом случае, удачи! И / или получайте удовольствие!

    проект? Это может быть выгодно каждому; -)


    И последнее: если вы хотите работать над таким проектом просто для развлечения, чтобы узнать, что это такое, и узнать больше насчет веб-разработки, тогда ДЕЛАЙТЕ!
    (Это, на мой взгляд, вероятно, единственная причина, по которой можно было бы работать над этим, кстати)


    В любом случае, удачи! И / или получайте удовольствие!

    проект? Это может быть выгодно каждому; -)


    И последнее: если вы хотите работать над таким проектом просто для развлечения, чтобы узнать, что это такое, и узнать больше насчет веб-разработки, тогда ДЕЛАЙТЕ!
    (Это, на мой взгляд, вероятно, единственная причина, по которой можно было бы работать над этим, кстати)


    В любом случае, удачи! И / или получайте удовольствие!

    84
    ответ дан 28 November 2019 в 22:08
    поделиться
    1. Изучите веб-стек: HTML, javascript, php, mysql ...
    2. Напишите несколько небольших проектов
    3. Получите работу где-нибудь, чтобы учиться у более опытных людей
    4. Изучить ООП , шаблоны проектирования, передовой опыт и т. д.
    5. Применяйте то, чему вы научились в течение нескольких лет

    Если вы пройдете пункт 5, вы будете знать, как его построить.

    29
    ответ дан 28 November 2019 в 22:08
    поделиться

    ОГРОМНЫЙ вопрос!

    Ваши основные варианты:
    1. Прямая интеграция вашего кода с существующим почтовым сервером
    2. Использование IMAP и SMTP для связи с существующим почтовым сервером

    Номер 2 является наиболее простым, потому что вы можете изменить почтовые серверы, если вам когда-нибудь понадобится.

    и да, в процессе работы есть еще много чего

    1
    ответ дан 28 November 2019 в 22:08
    поделиться

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

    У вас есть рассматривается возможность использования предварительно созданного:

    7
    ответ дан 28 November 2019 в 22:08
    поделиться

    Если вы не используете внешнюю почтовую службу (например, Gmail), вам необходимо настроить собственный сервер для хранения и отправки электронной почты. Вот руководство по использованию Postfix (для отправки почты) и Dovecot (для доступа к почте через IMAP). В этом руководстве также объясняется настройка системы веб-почты в SquirrelMail. Вы можете сделать это или, если вы действительно хотите разработать свою собственную систему, можете написать приложение PHP для доступа к вашей почте.

    Удачи!

    0
    ответ дан 28 November 2019 в 22:08
    поделиться

    Настройте учетную запись электронной почты, к которой можно получить доступ через POP (пример: gmail). Затем используйте функции PHP IMAP для получения электронной почты по протоколу POP (POP, вероятно, проще, чем IMAP) ( http://us2.php.net/imap ). Для отправки почты используйте функции PHP Mail ( http://us2.php.net/mail ).

    0
    ответ дан 28 November 2019 в 22:08
    поделиться
    Другие вопросы по тегам:

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