Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Ошибочные письма


Автор: Gold Dragon 5.8.2005, 15:05
Есть такая проблема... Есть большая рассылка, адреса в базе, база часто пополняется и очень большая. После рассылки очень много возвращается писем (битые адреса).

Задача:
- определить что это именно возвратное письмо от почтового сервера,
- вычленить адрес
- удалить из базы

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

Самый лучший вариант, это определять не существующий адрес перед отправкой

PS
не совсем уверен что вопрос задаю в этом разделе, если что перенесите..

Автор: Styler 5.8.2005, 15:38
Red Dragon мне кажется что перед отправкой определить есть ли АДРЕС или нет - не получится. Максимум что ты можешь сделать - это посмотреть существует ли такой сервер и можно ли к нему присоединится.
А что касается вычленения - у писем-возвратов ( Mail Delivery System) в заголовках всегда указывается адрес на который посылалось письмо. Я думаю вырезать его оттуда не составит труда.

Автор: Gold Dragon 5.8.2005, 15:42
да как адрес вырезать - проблем нет... Проблема в том чтоб определить на самом деле адреса нет. Ведь может быть вернуться похожее письмо если ящик переполнен...

Проблема вычленить определённую ошибку. Некоторые указывают ошибку 500, а некоторые не указывают
Добавлено @ 15:43

А как проверить существование сервера?

Автор: Mal Hack 5.8.2005, 15:48
Цитата(Red @ 5.8.2005, 16:05)
Самый лучший вариант, это определять не существующий адрес перед отправкой

Нельзя.

Цитата(Red @ 5.8.2005, 16:42)
А как проверить существование сервера?

В PHP - gethostbyname или через банальный fsockopen, что лучше.


Цитата(Red @ 5.8.2005, 16:42)
Проблема вычленить определённую ошибку. Некоторые указывают ошибку 500, а некоторые не указывают

Как правило подобные письма содержат определенный текст в теме, проанализировать его не сложно.
В принципе можно идентифицировать все письма как такие, приходяшие на адрс рассылки, за исключением тех, в которых есть лово quota.

Автор: DENNN 5.8.2005, 16:18
Читать RFC, либо пользоваться менеджерами рассылки.
Какой почтовик стоит на сервере?

Автор: Styler 5.8.2005, 17:03
Мне тут мысль пришла интересная - если я правильно понимаю письмо с сообщением об ошибке приходит по адресу указанному в Reply-To ? Может в таком случае проще будет завести отдельный ящик и все письма с ошибками перенаправлять туда и там уже анализировать ? Если на ящик пришло письмо с некоего адреса - значит этот адрес нужно исключить из списка рассылки ?

Автор: Mal Hack 5.8.2005, 17:13
Styler так-то оно так, я об этом выше писал smile
надо будет лишь:

Цитата(Mal @ 5.8.2005, 16:48)
за исключением тех, в которых есть слово quota.


Автор: Gold Dragon 6.8.2005, 12:00
Цитата(Mal @ 5.8.2005, 15:48)
Как правило подобные письма содержат определенный текст в теме, проанализировать его не сложно.
В том то и дело что тексты все разные.... Конечно можно что-то общее найти, но всё равно мно шансов пропустить... Наверное придётся этим воспользоваться... но ручками очень прилично работать придётся

Цитата(DENNN @ 5.8.2005, 16:18)
Какой почтовик стоит на сервере?

sendmail. Сразу скажу, другой ставить компания не будет

Автор: DENNN 8.8.2005, 14:50
Цитата(Red @ 6.8.2005, 12:00)
sendmail. Сразу скажу, другой ставить компания не будет

ok. А как все же рассыслка выполняется? Какими средствами?

P.S. Сходи http://www.opennet.ru/opennews/art.shtml?num=5875, может пригодится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)