[sendmail-conf] Проверка Message-ID ( или , вообще , произвольного поля заголовка )

Victor Ustugov victor на corvax.kiev.ua
Чт Дек 8 09:51:13 EET 2005


Sergey wrote:

> В общем, ноги проблемы растут из Cyrus-IMAP. У них Message-ID является
> индексом и ID, несоответствующие RFC, режут. Спама с неправильным ID
> не очень много, но плохо то, что сообщение успевает приняться и MTA
> генерит DSN по левому, или, что хуже, по реальному, но не имеющему 
> отношения к рассылке, адресу. А вообще, видимо, это стоит сразу 
> универсально делать, потому как я еще и X-Mailer тоже можно проверять, 
> например, на OutLook Express 3.14159 или Advanced Mass Sender...
> 
> В общем, что-то вроде
> check_header_line(<line>, <regexp>, <action>, [msg_if_regect])
> кажется полезным. action - ok или reject в случае соответствия.

проверка произвольного залоговка на соответствие регекспу - это пока 
отдельная тема, хотя по ней уже есть неплохие идеи для реализации

> Отдельно касаемо Message-ID хотел регексп сочинить и ужаснулся тому, 
> что по RFC допустимо:
> 
> msg-id = "<" addr-spec ">" ; Unique message id
> 
> addr-spec   =  local-part "@" domain
> local-part  =  word *("." word) 
> word        =  atom / quoted-string
> quoted-string = <"> *(qtext/quoted-pair) <">
> qtext       =  <any CHAR excepting <">,     ; => may be folded
>                "\" & CR, and including
>                linear-white-space>
> linear-white-space =  1*([CRLF] LWSP-char)
> 
> И это еще без того, что в domain допустимо...
> 
> Так что, придется от противного проверку для Message-ID делать, похоже...

судя по всему, пока будем отталкиваться от того, что Message-ID:
1. должен быть в угловых скобках
2. внутри угловых скобок должен присутствовать ID, содержащий символ "@"
3. после открывающейся угловой скобки не должен следовать символ "@"
4. после символа "@" не должна следовать точка
5. не должно быть двух точек подряд

еще что-то?

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

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ: 77186900, 32418694      CRV2-RIPE, CRV-UANIC




Подробная информация о списке рассылки sendmail-conf