O Mailman pode registrar o endereço IP de cada mensagem enviada?

2

É possível configurar o Mailman para registrar o endereço IP do remetente de cada mensagem?

Aparece a diretiva de configuração correta (de Defaults.py) é SMTP_LOG_SUCCESS. Ele registra em / 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')

Eu copiei esta diretiva para mm_cfg.py, tentei adicionar% (ip) e% (remote) (apenas adivinha), e reiniciei o Mailman, mas não funcionou.

O dicionário de variáveis disponíveis parece estar no Mailman / Handlers / SMTPDirect.py, linhas 173-180. No entanto, eu não conheço o Python bem o suficiente para disponibilizar o endereço IP do remetente da mensagem como uma variável aqui.

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,
                      })  
    
por richardkmiller 11.06.2011 / 08:30

1 resposta

1

hei. O que o SMTPDirect faz é

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

Não há informações sobre o IP dos remetentes. Então, isso é, pelo menos, como eu entendo sua pergunta, não o que você quer.

Sugiro de outra forma: dependendo da sua configuração, "clone" a caixa de correio para onde os e-mails originais serão enviados. Extraia os IPs de lá, você pode usar ferramentas shell ou python para fazer isso.

Os IPs não estão diretamente acoplados ao Mails O Mailman está processando, mas você pode procurar os IPs.

Caso contrário, eu temo que você tenha que consertar o mailman, que é um pedaço de código mal-intencionado (imo)

    
por 14.06.2011 / 12:15