AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1096134
Accepted
QF0
QF0
Asked: 2022-03-15 11:36:56 +0800 CST2022-03-15 11:36:56 +0800 CST 2022-03-15 11:36:56 +0800 CST

Configurando o sendmail para escutar em uma porta alternativa

  • 772

Configurei sendmailpara ouvir na porta 1234 em vez de 25 com uma alteração para sendmail.mc:

DAEMON_OPTIONS(`Port=1234, Name=MTA')

Isso geralmente funciona, com uma exceção. O pano de fundo é que eu tenho um relé escutando na porta 25 (o relé deve ter um registro MX, então deve estar na porta 25). O relé envia e-mails via sendmail, então sendmail escuta em localhost:1234. Em outras palavras, o sendmail é responsável apenas por enviar e-mails, e não por recebê-los. netstat/etc confirma que o relé está escutando em 25 e o sendmail está escutando em 1234.

Isso funciona nestes dois casos de teste:

  1. Posso enviar emails por telnet'ing para sendmail ( telnet localhost 1234)
  2. Posso enviar e-mails s-nailcom uma alteração de configuração apropriada ( set mta=smtp://localhost:1234)

No entanto, essa configuração não funciona se eu executar o sendmail diretamente:

sendmail -d8.20 -vt < test-email.txt

Nesse caso, o sendmail tenta enviar o e-mail conectando-se à porta 25 localmente, de modo que ele realmente se comunica com a retransmissão local, em vez de um servidor SMTP remoto. A saída de depuração mostra:

[email protected]... Connecting to [127.0.0.1] via relay...
220 mydomain.org ESMTP mydomain relay

Isso me deixou perplexo - alguma idéia do que está acontecendo aqui?

EDITAR

Fazendo algum progresso. Estou no Sendmail 8.15.2, Ubuntu 20.04. Esse problema realmente não importaria, exceto que o sendmail libera suas filas MSP com um cron job que é executado a cada 20 minutos, então recebo muitas entradas de falha do syslog e grandes filas de e-mail não entregues, porque o sendmail não pode se encontrar.

O problema parece ser o seguinte. Quando você envia um e-mail (ou gerencia as filas) usando o sendmail, é (normalmente) um processo de 2 etapas. Você executa o sendmail, que lê submit.cf(e não sendmail.cf ), e atua como um MSA, enviando o email para algo. Esse algo normalmente é o daemon sendmail local, que lê sendmail.cfquando é ativado.

sendmail.cfdiz ao sendmail que ele precisa ouvir localhost:1234os e-mails recebidos. Isso significa que submit.cfdeve conter uma configuração que diga ao programa sendmail para rotear e-mails de saída para localhost:1234.

A submit.mcconfiguração relevante é provavelmente FEATURE msp, cujo padrão é

FEATURE(`msp', `[127.0.0.1]', `25')

Portanto, a resposta é provavelmente tão simples quanto alterar 25 para 1234. No entanto, não é tão fácil. Apenas alterá-lo, regenerar os arquivos e reiniciar o sendmail não faz diferença. Na verdade, regenerar submit.cfcom um m4ou makeoutro faz exatamente zero diferença ou fornece um cfarquivo com o recurso comentado. Há alguma mágica em algum lugar que permite alterar o recurso, mas não tenho ideia do quê. A resposta pode estar em /usr/share/sendmail/cf/feature/msp.m4, mas não consigo vê-la.

sendmail
  • 0 0 respostas
  • 101 Views

0 respostas

  • Voted
  1. Best Answer
    dinoex
    2022-03-16T06:33:23+08:002022-03-16T06:33:23+08:00

    Executando o sendmail a partir da linha de comando, usando um arquivo de configuração diferente.

    Edite o arquivo "submit.mc"

    adicione a linha:

    define(`RELAY_MAILER_ARGS', `TCP $h 1234')dnl
    

    antes da linha:

    FEATURE(`msp', `[127.0.0.1]')dnl
    

    Em seguida, compile "submit.mc" para "submit.cf".

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve