URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68258
[ Назад ]

Исходное сообщение
"Запрещенные символы в имени пользователя и преобразование этого имени."

Отправлено vestronet , 16-Авг-06 09:54 
Доброго времени суток всем!

Можно ли в Sendmail'е сделать так, чтобы допустим при вводе команды RCPT TO: <'user'@domain.ru> выдавалась ошибка о том, что нельзя использовать символы ' или "?
Как это можно роешить?

Также можно ли сделать при вводе RCPT TO: <user>, чтобы данный user сразу же преобразовывался в user@domain.ru?

Спасибо!


Содержание

Сообщения в этом обсуждении
"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено micis , 18-Авг-06 04:46 
>Можно ли в Sendmail'е сделать так, чтобы допустим при вводе команды RCPT TO: <'user'@domain.ru> выдавалась ошибка о том, что нельзя использовать символы ' или "?
Добавляем в sendmail.mc:
define(`confOPERATORS', `.:%@!^/[  ]+\'')dnl
LOCAL_RULESETS
SLocal_check_rcpt
R$* ' $#error $@ 5.1.1 $: "error"

>Также можно ли сделать при вводе RCPT TO: <user>, чтобы данный user сразу же преобразовывался в user@domain.ru?
MASQUERADE_AS(`your.domain.ru')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`allmasquerade')
FEATURE(`masquerade_envelope')dnl
или писать своё правило в LOCAL_RULE_2 (хотя на заголовки оно не повлияет).



"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено vestronet , 18-Авг-06 09:36 
>Добавляем в sendmail.mc:
>define(`confOPERATORS', `.:%@!^/[  ]+\'')dnl
>LOCAL_RULESETS
>SLocal_check_rcpt
>R$* ' $#error $@ 5.1.1 $: "error"

Добавил.

Потом проверяю:
...
mail from: user1@domain.ru
250 2.1.0 user1@domain.ru... Sender ok
rcpt to: 'user2'@domain.ru
250 2.1.5 'user2'@domain.ru... Recipient ok
...

Адрес принимает, ошибку не выдает...

В чем же может быть проблема?


"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено micis , 18-Авг-06 10:14 
>>Добавляем в sendmail.mc:
>>define(`confOPERATORS', `.:%@!^/[  ]+\'')dnl
>>LOCAL_RULESETS
>>SLocal_check_rcpt
>>R$* ' $#error $@ 5.1.1 $: "error"
>
>Добавил.
>
>Потом проверяю:
>...
>mail from: user1@domain.ru
>250 2.1.0 user1@domain.ru... Sender ok
>rcpt to: 'user2'@domain.ru
>250 2.1.5 'user2'@domain.ru... Recipient ok
>...
>
>Адрес принимает, ошибку не выдает...
>
>В чем же может быть проблема?

У меня выдаёт...
> test_rule 'user'@domain.ru
test_rule          input: ' user ' @ domain . ru
-----trying rule: $* ' $*
-----rule matches: $# error $@ 5 . 1 . 1 $: "error!!!"
rewritten as: $# error $@ 5 . 1 . 1 $: "error!!!"
test_rule        returns: $# error $@ 5 . 1 . 1 $: "error!!!"

Сделай так. Запусти сендмейл в режиме отладки (путь может быть другой):
/usr/lib/sendmail -bt -d21.12
затем введи:
> Local_check_rcpt 'user'@domain.ru
покажи результат.


"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено vestronet , 18-Авг-06 10:42 
>У меня выдаёт...
>> test_rule 'user'@domain.ru
>test_rule          input: '
>user ' @ domain . ru
>-----trying rule: $* ' $*
>-----rule matches: $# error $@ 5 . 1 . 1 $: "error!!!"
>
>rewritten as: $# error $@ 5 . 1 . 1 $: "error!!!"
>
>test_rule        returns: $# error $@
>5 . 1 . 1 $: "error!!!"
>
>Сделай так. Запусти сендмейл в режиме отладки (путь может быть другой):
>/usr/lib/sendmail -bt -d21.12
>затем введи:
>> Local_check_rcpt 'user'@domain.ru
>покажи результат.

...
> Local_check_rcpt 'nrtpc'@north.ru
Local_check_rcpt   input: ' user ' @ domain . ru
Local_check_rcpt returns: ' user ' @ domain . ru
...


"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено micis , 18-Авг-06 10:55 
>>У меня выдаёт...
>>> test_rule 'user'@domain.ru
>>test_rule          input: '
>>user ' @ domain . ru
>>-----trying rule: $* ' $*
>>-----rule matches: $# error $@ 5 . 1 . 1 $: "error!!!"
>>
>>rewritten as: $# error $@ 5 . 1 . 1 $: "error!!!"
>>
>>test_rule        returns: $# error $@
>>5 . 1 . 1 $: "error!!!"
>>
>>Сделай так. Запусти сендмейл в режиме отладки (путь может быть другой):
>>/usr/lib/sendmail -bt -d21.12
>>затем введи:
>>> Local_check_rcpt 'user'@domain.ru
>>покажи результат.
>
>...
>> Local_check_rcpt 'nrtpc'@north.ru
>Local_check_rcpt   input: ' user ' @ domain . ru
>Local_check_rcpt returns: ' user ' @ domain . ru
>...
Надеюсь в строке
R$* ' $#error $@ 5.1.1 $: "error"
присутствует символ табуляции (после одинарной кавычки и $#error)?
т.е. должно быть
R$* '<TAB>$#error $@ 5.1.1 $: "error"

Ё-пть... сам понял косяк теперь (мой :) ). забыл дописать правило - надо так:
R$* ' $*<TAB>$#error $@ 5.1.1 $: "error"
У себя в правиле правильно написал, а здесь забыл. Сорри...


"Запрещенные символы в имени пользователя и преобразование эт..."
Отправлено vestronet , 18-Авг-06 14:55 
>Надеюсь в строке
>R$* ' $#error $@ 5.1.1 $: "error"
>присутствует символ табуляции (после одинарной кавычки и $#error)?
>т.е. должно быть
>R$* '<TAB>$#error $@ 5.1.1 $: "error"
>
>Ё-пть... сам понял косяк теперь (мой :) ). забыл дописать правило -
>надо так:
>R$* ' $*<TAB>$#error $@ 5.1.1 $: "error"
>У себя в правиле правильно написал, а здесь забыл. Сорри...

Все заработало! АгрАмАдное человеческое спасибо! :-)