Вопрос списка заблокированных сообщений - PullRequest
0 голосов
/ 21 марта 2011

Я проверяю список блокировки электронной почты для 3 вещей:
1) Блокировка электронной почты, как: abc@test.com
2) Домен вроде: test.com
3) SubDomain вроде: .com

Таким образом, когда пользователь отправляет электронное письмо, оно может быть отклонено из черного списка по любой из 3 причин. Вопрос в том, нужны ли мне 3 отдельные таблицы для этого и как это будет работать? Система принимает электронную почту, запускает ее в черном списке 1, затем в списке 2, затем в списке 3, или есть какой-то способ написать функцию или что-то, что может выполнить все три запуска одновременно?

И лучше ли это хранить в реализации RDMS или NoSQL? Список доменов и адресов электронной почты составляет около 500 000 записей. Списки адресов электронной почты будут увеличиваться по мере того, как я буду добавлять в список спам-сообщения. Список Sumdomain будет около 10-15 в зависимости от некоторой пользовательской логики.

Примечание. Этот список будет даже использоваться для фильтров электронной почты на сайте, чтобы отклонять почту как спам.

1 Ответ

0 голосов
/ 21 марта 2011

Используйте регулярное выражение или базовый синтаксис LIKE:

SELECT * FROM tbl_banned WHERE ban_pattern LIKE 'someone@domain.ext'

А при запрете используйте либо:

abc@test.com
*@test.com
*.com

В MySQL * - это%.

EDIT

Я пропустил вторую часть вопроса извините. Имхо, храня это в RDBMS вкл. достаточно далеко, я не вижу проблем.

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