Отказывающийся парсинг электронной почты

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

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

Поэтому, я думаю, мой вопрос: есть ли у кого-нибудь какое-либо решение? Я не хочу искать миллиард и одну возможную строку в возвращенном письме, чтобы быть честным. Однако было бы неплохо не прибегать к «неизвестной причине» или чему-то подобному.

Кто-нибудь еще повезло с этим или идеями? ура

Вы можете настроить систему, позволяющую оператору просматривать сообщения, выбирать строки, а затем классифицировать оттуда. В конце концов, вы можете надеяться получить 1 из 10 до 1 из 100 или 1 в 1000. Однако здесь всегда будут все больше и больше угловых случаев.

Также не окончательный ответ, но в том же духе, что и ответ Кайла, вы можете использовать фильтр спама на основе байков / токенов, чтобы «узнать» о сообщениях отказов, а затем автоматически перенаправить их на все, что вы хотите обработать отскок почты.

Другими словами, у вас есть учетная запись, в которой вы обучаете spamassassin или spamprobe или что-то еще, что куча разных сообщений о отказе (и только сообщения о отказе) являются «мусорными», а затем пусть эта спам-система будет второй строкой фильтрации после того, что вы разработаны.

Итак, скажем, ваше решение, первый фильтр, находит 90% отскок сообщений. У вас есть система, которая обычно делает с помощью отскоков, а затем сохраняет их в почтовый ящик bounce-messages, который периодически проверяется spamassasin / spamprobe, чтобы узнать эти сообщения как «нежелательные».

У вас также есть spamassassin или spamprobe или что-то другое, как второй фильтр (бегать по чему-либо, что ваш не обозначает как отскок) делает свою собственную оценку отскока, и все, что он считает «мусором» (потому что вы научились think bounce = junk), вы также направляетесь в свою программу и т. д.

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

Мы сталкиваемся с одной и той же проблемой, но ни один из них не нашел «идеального» решения. Я думаю ты

  • может использовать какой-либо поставщик услуг (с надлежащим почтовым API) – это позволит вам «перенаправить» проблему и дать вам высокий уровень обнаружения или
  • используйте некоторый простой фильтр, чтобы поймать хотя бы (скажем) 80% отскоков. В нашей установке этого было достаточно, чтобы наша база данных находилась в разумном состоянии.