Telnet a SMTP non riceve risposta 220 a meno che non venga specificato l'utente


1

Il mio server è configurato per generare solo e-mail in uscita (nessuna ricezione) ed è scaduto quando si tenta di contattare smtp.example.com

Essenzialmente l'email è generata da un processo su myserver.example.com, inviato a postfix sull'host locale, che funge da sistema satellitare e inoltra l'email a smtp.example.com

I messaggi di errore da postfix su myserver.example.com sono:

Date/time-stamp myserver postfix/smtp[####]: ##########: to=<you@example.org>, relay=smtp.example.com:25 delay=1029, delays=729/0.01/300/0, dsn=4.4.2 status=deferred (conversation with smtp.example.com timed out while receiving the initial server greeting)

E questo è lo stesso errore indipendentemente dal destinatario. Le e-mail in uscita sono in coda e non vengono mai inviate.

Ho confermato questo timeout telnet smtp.example.com 25e trovando che non ricevo nemmeno la risposta 220 iniziale dal server SMTP.

Tuttavia, se telnet -l myuser smtp.example.com 25invece, ricevo immediatamente la risposta 220 e posso inviare un'e-mail come previsto.

Ho configurato Postfix per utilizzare SMTP-AUTH aggiungendo le seguenti voci a main.cf

relayhost = smtp.example.com
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options = noanonymous
smtp_connect_timeout = 120s

Qualcuno può suggerire come potrei cambiare la mia configurazione postfix per ottenere il tipo di risposta rapida (o qualsiasi ) che ottengo utilizzando telnet -l myuser?


1
Esegui una procedura tcpdumpper tutto il traffico verso smtp.example.comquando esegui una normale telnete una telnet -le vedi qual è la differenza.
Jenny D,

Risposte:


1

SMTP non è in grado di comprendere l'utente impostato con -l, perché è un protocollo diverso da telnet.

Immagino che specificando -l il tuo client telnet stia pubblicando automaticamente alcune cose in smtpde l'output che vedi è proprio quello che risponde a qualsiasi input casuale?

Ma in ogni caso. Se telnet smtpdsi collega alla porta 25 del proprio utente e non si ottiene alcun output, probabilmente ci dovrebbe essere qualche errore nei log nel momento in cui ci si connette. Forse dovresti provare a controllare i log con tail -fdurante la connessione? a seconda della distro i registri potrebbero trovarsi in file diversi, ad esempio su SuSE sarebbe:

tail -f /var/log/mail.info /var/log/mail.err /var/log/mail.warn

Ora mentre esegui questo tail, connettiti allo smtpdstesso tempo, per vedere se alcuni errori sono scritti nel registro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.