Назад | Перейти на главную страницу

Может ли Mailman регистрировать IP-адрес каждого отправленного сообщения?

Можно ли настроить Mailman на регистрацию IP-адреса отправителя каждого сообщения?

Похоже, что правильная директива конфигурации (из Defaults.py) - SMTP_LOG_SUCCESS. Он записывается в / var / log / mailman / post:

SMTP_LOG_SUCCESS = (
    'post',
    'post to %(listname)s from %(sender)s, size=%(size)d, message-id=%(msg_message-id)s,   success')

Я скопировал эту директиву в mm_cfg.py, попытался добавить% (ip) и% (remote) (просто догадывается) и перезапустил Mailman, но это не сработало.

Словарь доступных переменных находится в Mailman / Handlers / SMTPDirect.py, строки 173–180. Однако я недостаточно хорошо знаю Python, чтобы сделать IP-адрес отправителя сообщения доступным здесь в качестве переменной.

d = MsgSafeDict(msg, {'time'    : t1-t0,
                      # BAW: Urg.  This seems inefficient.
                      'size'    : len(msg.as_string()),
                      '#recips' : len(recips),
                      '#refused': len(refused),
                      'listname': mlist.internal_name(),
                      'sender'  : origsender,
                      })  

привет. Что делает SMTPDirect:

Local SMTP direct drop-off.
This module delivers messages via SMTP to a locally specified daemon.

Нет информации об IP отправителя. Так что, по крайней мере, я понимаю ваш вопрос, а не то, что вы хотите.

Я бы предложил другой способ: в зависимости от ваших настроек «клонировать» почтовый ящик, куда отправляются исходные письма. Извлеките оттуда IP-адреса, для этого вы можете использовать инструменты оболочки или python.

IP-адреса не связаны напрямую с почтой, которую обрабатывает Mailman, но вы можете найти IP-адреса.

В противном случае я боюсь, что вам придется исправлять mailman, что является стервозным фрагментом кода (imo)