Страница 1 из 1
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 17:03:29
Remidalv
Привет. Есть postfix (сам postfix и dovecot, больше ничего для работы почты), нужно указать, какие символы могут быть в адресе, для входящих писем. Никак не могу найти как это сделать, помогите.
Хочу ограничить только цифрами, латинскими буквами и "-",".".
Спасибо.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 17:23:14
Neus
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 17:37:18
Remidalv
Neus , вы хотите сказать, то что я хочу сделать противоречит RFC? Знаю, но хочу.
Или я не понял намёка...
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 17:52:37
Neus
Для входящих к вам писем сервер проверит существование ящика.
Вы перед этим собираетесь проверять адрес на соответствие вашим требованиям?
И что предполагается делать в случае несоответствия?
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 18:03:09
Remidalv
Neus
>>Вы перед этим собираетесь проверять адрес на соответствие вашим требованиям?
Да. Если придёт письмо, предположим от "#!$%&'*+-/=?^_`{}|~@example.org" это письмо будет отклонено. Так как в нём используются недопустимые символы. Разве адекватный человек, будет иметь такой имэйл.
>> И что предполагается делать в случае несоответствия?
реджектить
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 18:23:17
Neus
А, ну так так бы и написал что адрес отправителя проверять.
Напиши регулярку, в гугле статей на эту тему тьма.
И тут на сайте имеются.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 18:31:52
Remidalv
Neus
>>Напиши регулярку, в гугле статей на эту тему тьма.
То что нашёл, не понял (. Нашёл с использование sql`ной базы, но её у меня нет.
Напишите простой пример. Спасибо.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 18:58:42
FiL
Remidalv писал(а): Neus
>>Вы перед этим собираетесь проверять адрес на соответствие вашим требованиям?
Да. Если придёт письмо, предположим от "#!$%&'*+-/=?^_`{}|~@example.org" это письмо будет отклонено. Так как в нём используются недопустимые символы. Разве адекватный человек, будет иметь такой имэйл.
Адекватный человек - может такой не будет, но будет в адресе использовать +,_,&. А адекватный сервер рассылки еще с удовольствием будет использовать !,$,%. А там недалеко осталось и до остальных символов.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-16 20:10:17
Neus
Кстати, да, у меня в адресе _ есть, многие используют адрес имя.фамилия@домен
ТС похоже лайт-спамфильтр хочет навелосипедить

Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-17 12:12:39
Amaka
Remidalv писал(а):...Напишите простой пример. Спасибо.
Вот мой пример использования регулярных выражений для моего домена
mydomain.ru.
В файле
main.cf указал:
Код: Выделить всё
smtpd_recipient_restrictions =
...
check_recipient_access regexp:/etc/postfix/bad_recipient.pcre,
...
Содержимое файла
/etc/postfix/bad_recipient.pcre такое:
Код: Выделить всё
# Проверяем на корректность адрес получателя.
# Есть ли в адресе получателя недопустимые символы.
# Если есть, то - REJECT
# Почти всем корректным адресам соответствует шаблон RFC822:
# необходимо тетсировать!!!
#/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*\@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9]+[a-zA-Z0-9_-]*)+/i DUNNO
# Некорректные адреса получателей нужно отбросить:
# я~AhemezovaVV@mydomain.ru
# п¦п+retskaya@mydomain.ru
# Т.е. это адреса, которые начинаются не с символов: [a-zA-Z0-9]
/^([^a-zA-Z0-9])+([a-zA-Z0-9._-])*\@mydomain\.ru$/i reject Invalid recipient address BREP-Rules 1234
# В адресе получателя 2-а знака "@"
# Пример: info@binsk@mydomain.ru
/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*\@([a-zA-Z0-9._-])*\@mydomain\.ru$/i reject Invalid recipient domain BREP-Rules 5678
Чтобы в будущем было удобно искать в логах причину отбивки письма, каждому правилу указал уникальное имя:
"BREP-Rules 1234" и
"BREP-Rules 5678". Вы укажете свои цифры.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-17 16:03:34
Remidalv
Amaka спасибо!!!! Попробую сделать у себя и отпишусь.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-23 3:16:54
Remidalv
Получилось сделать регулярное выражение, но такой вопрос, почему ошибку "554 5.7.1 Sender address rejected: Access denied" я получаю только после того как введён адрес получателя? а после адреса отправителя получаю "250 2.1.0 Ok". Хочется сразу после введения недопустимого адреса получить ошибку.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 12:24:19
Amaka
Remidalv писал(а):... почему ошибку "554 5.7.1 Sender address rejected: Access denied" я получаю только после того как введён адрес получателя? а после адреса отправителя получаю "250 2.1.0 Ok". Хочется сразу после введения недопустимого адреса получить ошибку.
Потому, что предложенное мною правило предназначено для проверки допустимых символов в адресе получателя, а не отправителя. Мною оно используется для дополнительного отсеивания спама.
Т.е. я знаю, какие у нас адреса у сотрудников. Все остальные с недопустимыми комбинациями символов я отсеиваю.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 12:49:39
Remidalv
Amaka
Я сделал именно проверку для отправителя.
smtpd_sender_restrictions:
check_sender_access regexp:/etc/postfix/sender_charactert
Ошибка "554 5.7.1 Sender address rejected: Access denied"
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 13:49:40
Amaka
Мне трудно сказать, т.к. я не вижел твоего файла
main.cf.
У тебя все правила
smtpd_*_restriction выполняются в последовательности указанной тобою в файле
main.cf. Почитай вот тут:
http://freesource.info/wiki/Dokumentaci ... ons?v=osl&, о том, как правильно делать последовательность проверок.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 15:34:13
Remidalv
Попробовал не тестовой машине main.cf указал только:
Код: Выделить всё
myhostname = mail.example.local
inet_protocols = ipv4
inet_interfaces = 192.168.0.100
smtpd_sender_restrictions:
check_sender_access regexp:/etc/postfix/sender_charactert
все равно ошибка Sender address rejected, только после ввода получателя (rcpt to:), а не после mail from:
непонятно ...
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 16:07:09
Amaka
Может это от версии postfix зависит?
У меня версия postfix 2.Х.
Вообще-то, отклонить сессию более правильно после того, как сервер отправитель передаст полностью данные о себе, отправителе и получателя. Т.е. передаст полностью весь "триплет". По нему по триплету много проверок делать можно.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-24 16:15:26
Remidalv
Amaka спасибо за ваши ответы.
Postfix. Разрешённые символы в адресе отправителя.
Добавлено: 2016-02-26 12:28:42
Remidalv
нашёл, почему срабатывало правила реджекта helo, только после rcpt to
smtpd_delay_reject (default: yes)
Wait until the RCPT TO command before evaluating $smtpd_client_restrictions, $smtpd_helo_restrictions and $smtpd_sender_restrictions, or wait until the ETRN command before evaluating $smtpd_client_restrictions and $smtpd_helo_restrictions.