Как начать обрабатывать электронную почту, связанную с деятельностью сайта? - PullRequest
1 голос
/ 17 сентября 2008

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

Ответы [ 2 ]

4 голосов
/ 17 сентября 2008

Есть несколько довольно серьезных опасений относительно того, как автоматически отправлять электронную почту, и вот некоторые из них:

Используйте библиотеку электронной почты. Python включает в себя один называется «электронная почта». Это твой друг, он остановит тебя от трагических ошибок. Прочитайте пример из Руководства по Python .

Некоторые моменты, которые помешают вам заблокировать спам-фильтры:

Всегда отправлять с действительного адреса электронной почты. Вы должны иметь возможность отправлять электронную почту на этот адрес и получать ее (она может перейти в / dev / null после получения, но она должна быть в состоянии / доставить / туда). Это остановит спам-фильтры, которые при проверке адреса отправителя блокируют вашу почту.

Адрес электронной почты, который вы отправляете в строке server.sendmail (fromaddr, [toaddr]), будет тем местом, куда идут отскоки. Строка From: в электронном письме - это совершенно другой адрес, и именно туда отправляется почта, когда пользователь нажимает кнопку «Ответить:». Используйте это в своих интересах, отскоки могут идти в одно место, а ответ - в другое.

Отправить письмо на локальный почтовый сервер, я рекомендую postfix. Этот локальный сервер будет получать вашу почту и отвечать за ее отправку на вышестоящий сервер. После доставки на локальный сервер обработайте его как «отправленный» с программной точки зрения.

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

Не отправляйте электронные письма только в формате HTML. Всегда отправляйте его в формате Plain и HTML, или просто. Будьте добры, я использую только текстовый почтовый клиент, и вы не хотите меня раздражать.

Убедитесь, что вы не используете SPF на своем почтовом домене, или настройте его так, чтобы ваш сервер мог отправлять почту. Сделайте это, выполнив поиск TXT в своем домене.

$ dig google.com txt
...snip...
;; ANSWER SECTION:
google.com.     300 IN  TXT "v=spf1 include:_netblocks.google.com ~all"

Как видно из этого результата, там есть запись SPF. Если у вас нет SPF, не будет записи TXT. Подробнее о SPF в википедии .

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

2 голосов
/ 17 сентября 2008

Общая информация об автоматической обработке почты ...

Во-первых, сам «бренд» почтового сервера не так важен для трансляции или получения электронной почты. Все они поддерживают стандартный протокол связи smtp / pop3. Большинство из них даже поддерживают IMAP и имеют некоторый уровень фильтрации спама. Тем не менее, попробуйте использовать почтовый сервер текущего поколения.

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

Помните, что обходить спам-фильтры - это искусство. Количество ISP следит за дублированием сообщений, сообщений, которые выглядят как спам на основе ключевых слов или другого контента и т. Д. Это иногда не зависит от количества отправленных сообщений; Я видел сообщения с всего лишь 50 копиями, заблокированными AOL, даже если они были законными электронными письмами. Итак, тестирование - это ваш друг, изучите эту статью в википедии о методах защиты от спама. Тогда убедитесь, что вы не делаете это дерьмо.

**

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

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

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