Лучший способ получить электронную почту на сайте - PullRequest
5 голосов
/ 27 марта 2011

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

Мой вопрос заключается в том, каков наилучший способ реализации этого вида услуг?

В моем прототипеЯ написал POP3-клиент, который получает всю вновь доставленную почту (в настоящее время из тестовой учетной записи Gmail).Моя служба обрабатывает каждую новую почту и вложения и сразу удаляет ее с почтового сервера.

Я, конечно, мог бы передать услуги электронной почты с POP3 и покончить с этим.Проблема в стоимости.Большинство услуг, которые я видел, предоставляют намного больше, чем мне нужно, и они берут за счет.Я ожидаю, что у меня будет много учетных записей и малый объем трафика.

Так что я склоняюсь к тому, чтобы принимать электронную почту.Я открыт для Windows или Linux.Код, который обрабатывает входящие электронные письма, работает в Windows, но у меня есть другие службы, работающие в Linux.Я видел несколько серверов с открытым исходным кодом и бесплатных почтовых серверов, таких как hMailServer и MailEnable (Windows) и qmail, Postfix и exim (Linux).

Я думаю, что у меня есть небольшое предпочтение Linux из-за более низкого хостингастоит, но если служба Windows может обеспечить более чистую интеграцию, это может стоить того.Что касается функций, я хотел бы иметь некоторую фильтрацию спама, но это не является огромным приоритетом.POP3 подходит для поиска, но было бы неплохо использовать более прямой API.Мне понадобится какой-то API для программного обеспечения новых учетных записей.

Все предложения приветствуются.Знаете ли вы, как другие реализуют этот вид службы?

ОБНОВЛЕНИЕ : я закончил тем, что использовал hMailServer , который является бесплатным почтовым сервером, работающим в Windows.Кажется, он достаточно зрелый и крепкий.Он имеет библиотеку COM-взаимодействия, которая делает доступ к электронной почте, учетным записям и т. Д. Из моего приложения на сервере .NET действительно очень простым.

Ответы [ 3 ]

1 голос
/ 28 марта 2011

Суть в том, что вам нужно иметь открытое SMTP-соединение для приема электронной почты.Если у вас есть собственный сервер, вы можете установить SMTP-сервер на машине.Как правило, у вас есть файловая система доступа к месту размещения файлов электронной почты.Обязательно выберите SMTP-сервер, который позволяет это, и что электронная почта имеет формат, который вы можете анализировать.

Затем вы можете просто отслеживать местоположение файла для входящих сообщений электронной почты.

ЕслиВы не можете передать свои электронные письма (используя предложение Postfix), и у вас нет своего собственного сервера (например, в плане общего хостинга), тогда вам нужно будет запросить почтовый сервер POP3 или IMAP,и разбирать их соответственно.

1 голос
/ 27 марта 2011

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

Вот краткое руководство по настройке канала электронной почты, если вы используете cPanel:

http://kb.siteground.com/article/How_to_pipe_an_email_to_a_PHP_script.html

Если нет, вот как это сделать:

http://answers.google.com/answers/threadview?id=562518

0 голосов
/ 17 июля 2012

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

Вы можете проверить Электронная почта (небольшой проект выходного дня, который я сделал, чтобы сделать это для вас), или вам этот небольшое приложение GAE , которое должно сработать.

Я как бы объяснил это подробнее на еще один вопрос .

Надеюсь, это поможет!

...