Postfix aceitando e-mail em uma porta específica

Postfix aceitando e-mail em uma porta específica

Temos alguns clientes que enviam e-mails através do nosso servidor de e-mail. Para enviar o e-mail em lote, temos todos os e-mails em uma porta específica (neste caso 1025) encaminhados para um script de aceitação que salva os detalhes no MySQL para processamento em lote. Quando eu testo isso, funciona perfeitamente, quando o cliente testa, funciona perfeitamente, porém, quando eles enviam do sistema Unica, parece que o e-mail passa direto pelo script e entra no fluxo de e-mail. Isso é possível?

Aqui estão as linhas do master.cf

000.000.000.000:1025 inet n      -       -       -       0       smtpd
        -o mynetworks=hash:/etc/postfix/injector/networks
        -o content_filter=clientid:
        -o syslog_name=clientid
        -o smtpd_timeout=1800s

clientid  unix   -       n       n       -       0       pipe
        flags=q user=filter argv=/var/injector/inject.php clntid

Qualquer ajuda seria muito apreciada!

Obrigado!

Responder1

para poder diagnosticar o problema, primeiro você precisa começar a coletar mais dados. você pode usar as opções debug_peer_level e debug_peer_list em /etc/postfix/main.cf.

por exemplo

debug_peer_list=UNICA.SERVER.IP.ADDRESS
debug_peer_level=2

(aumente ainda mais o nível de depuração se isso não fornecer informações suficientes)

depois de obter esses dados, você poderá saber com certeza se o e-mail do sistema unica está realmente indo para o seu filtro personalizado ou não (e parece que não está)

Responder2

O SMTP passa pela porta 25 (isso é um padrão), então quando seu cliente envia pelo sistema Unica, ele está enviando para essa porta. Do seu lado, o processo smtpd que escuta na porta 25 não sabe nada sobre o script inject.php.

Seu cliente deve enviar através de um sistema que esteja ciente do uso de uma porta não padrão, seja um MTA (servidor SMTP) ou um cliente de correio simples. Ou você terá que redesenhar sua configuração.

Sim, você pode remover o endereço (veja man 5 master).

Para esclarecer um pouco, como não vemos sua configuração completamente, talvez você consiga o que deseja (não testado). Se o seu cliente, ou qualquer outra coisa, não envia para a porta 1025, aparentemente você pode rotear o e-mail dele com base no endereço ou domínio do remetente.

/etc/postfix/main.cf:
sender_dependent_relayhost_maps = /etc/postfix/my_special_client

/etc/postfix/my_special_client:
@example.com  127.0.0.1:1025

# postmap /etc/postfix/my_special_client
# postfix stop && postfix start

Responder3

Para uma depuração realmente detalhada, às vezes faço um tcpdump e coloco-o de volta no ethereal para examinar a sessão SMTP exata que ocorreu.

tcpdump -i any -s 1500 -w /tmp/some-file.dump host ip.of.your.client

informação relacionada