Создать ссылку между электронной почтой и моим веб-приложением? - PullRequest
1 голос
/ 05 мая 2009

Я видел на сайте, как Flickr или Brightkite, личная электронная почта предоставляется пользователям. Если пользователь что-то отправит на этот адрес, контент будет опубликован в его общедоступном профиле. Как я могу сделать это в веб-приложении?

Ответы [ 4 ]

4 голосов
/ 05 мая 2009

На мой взгляд, есть два способа сделать это:

Во-первых, вы можете использовать существующую систему SMTP-сервера / почтового ящика и через некоторое время извлекать сообщения из этого почтового ящика, используя POP3 или IMAP, чтобы вставить материал в вашу базу данных / систему.

Кроме того, вы можете написать реализацию SMTP, которая будет принимать входящие сообщения электронной почты и выполнять вашу собственную логику для помещения данных в вашу базу данных / систему, а не в почтовый ящик. Это, в конечном счете, более чистый дизайн, который будет иметь гораздо меньше накладных расходов. На самом деле, где-то уже может быть реализация SMTP-сервера, которая позволит вам внедрить такую ​​логику (я отредактирую, если смогу ее найти).

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

Удачи!

Редактировать: Это не PHP, но ДЖЕЙМС от Apache - это почтовый сервер Java, который позволяет вводить пользовательские блоки обработки почты (называемые почтовыми программами) для обработки почты. Вы можете написать такую ​​рассылку, которая будет обрабатывать сообщения электронной почты и помещать обновления в вашу базу вместо почтового ящика. Могут быть другие проекты, которые реализуют этот вид дизайна, так что стоит посмотреть.

Снова отредактируйте: Ооо ... вот вам сервер с открытым исходным кодом php SMTP на SourceForge. Я не знаю, что вы можете внедрить пользовательскую логику, но вы всегда можете отредактировать исходный код и заставить его делать то, что вы хотите! (Если вы все равно настаиваете на PHP)

1 голос
/ 05 мая 2009

Существует несколько бесплатных почтовых серверов, которые поддерживают использование MySQL или любой другой базы данных в качестве внутреннего хранилища и для этого требуется только конфигурация. Если вам неудобно настраивать существующий почтовый сервер или писать собственный, я бы выбрал это решение. Это на несколько порядков быстрее, чем при использовании POP3 или IMAP для связи с почтовым сервером.

0 голосов
/ 05 мая 2009

Flickr опубликовал свои методы для выполнения именно этого в книге Создание масштабируемых веб-сайтов. Вся глава 6 посвящена этой теме. Вам не нужен нестандартный MTA, как упоминалось выше. Стандартные MTA будут работать нормально (sendmail, qmail, postfix, exim и т. Д.). Все, что вам нужно сделать, это отредактировать / etc / aliases. / etc / aliases можно использовать для установки почтового ящика для передачи всей электронной почты в сценарий.

Я настоятельно рекомендую прочитать эту главу , поскольку в ней описываются многие общие проблемы, с которыми вы столкнетесь при выполнении именно этого - анализ вложений, копирование электронной почты с мобильных устройств часто включает плохие / причудливые заголовки), правильную авторизацию и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...