Cómo verificar si smtp funciona desde la línea de comandos (Linux) [cerrado]


128

Tengo un servidor SMTP, para el propósito de esta pregunta vamos a llamarlo: smtp.mydomain.com.

¿Cómo verifico si el servidor SMTP está funcionando? ¿Puedo enviar correos electrónicos manualmente desde la línea de comandos de Linux?


@Flexo ¿No deberían migrarse tales preguntas en lugar de cerrarse? Parece que pertenece a Serverfault
Balmipour

1
Las preguntas antiguas de @Balmipour no se pueden migrar, ni siquiera por parte de los moderadores. Hay buenas razones para esto discutido en meta.stackexchange.com (no tengo un enlace a mano en este momento), pero tenga en cuenta que la pregunta no se elimina.
Flexo

Después de revisar varias publicaciones en Meta, parece que (para mí) la migración "solo" debe reabrirse primero. Tal vez esto no sea posible con viejas preguntas, por cierto. Supongo que lo sabes mejor que yo. De todos modos, gracias por tu respuesta. Un punto más relevante que he leído en las publicaciones meta es que la migración parece requerir una pregunta "particularmente valiosa". No es que este sea inútil, pero tampoco es una joya. No entiendo mucho, ya que SO está sobrevalorado en otros sitios como ServerFault / Linux o Superuser, pero mantendré el debate por otro día (y pertenece a Meta de todos modos, no SO :)
Balmipour

Respuestas:


175

La sintaxis para establecer una conexión de red sin procesar usando telnet es la siguiente:

telnet {domain_name} {port_number}

Entonces telnet a su servidor smtp como

telnet smtp.mydomain.com 25

Y copia y pega el siguiente

helo client.mydomain.com
mail from:<sender@mydomain.com>
rcpt to:<to_email@mydomain.com>
data
From: test@mydomain.com
Subject: test mail from command line

this is test number 1
sent from linux box
.
quit

Nota: No olvide el "." al final que representa el final del mensaje. La línea "salir" termina la sesión.


66
Debe esperar la respuesta de los servidores a cada comando y abortar si obtiene un error (código de resultado 4xx o 5xx).
tripleee

18
En lugar de hello velanapps.comhacerlo, debe escribir helo velanapps.comy si desea saber qué extensiones smtp están disponibles, debe escribir ehlo velanapps.com, como en el Ejemplo SMTP
jgrocha,

44
puede salir escribiendo quit
rhand

2
Esta respuesta fue útil, sin embargo, omití la primera línea en mis pruebas. Todavía recibí correos electrónicos del servidor smtp. Sería útil si pudiera incluir un poco sobre lo que el dominio velanapps.com está haciendo aquí. Siempre soy cauteloso cuando veo un dominio utilizado para algo así sin ninguna explicación de lo que está haciendo con nuestros datos. Gracias.
Jeremy

2
Su @Jeremy sólo una muestra de datos, he eliminado y añadido marcador de posición ...
balanv

26

Lo único sobre el uso de telnet para probar postfix u otro SMTP es que debe conocer los comandos y la sintaxis. En cambio, solo usa swaks :)

thufir@dur:~$ 
thufir@dur:~$ mail -f Maildir
"/home/thufir/Maildir": 4 messages
>    1 thufir@dur.bouncem                   15/553   test Mon, 30 Dec 2013 10:15:12 -0800
     2 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:15:55 -0800
     3 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:29:57 -0800
     4 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 11:54:16 -0800
? q
Held 4 messages in /home/thufir/Maildir
thufir@dur:~$ 
thufir@dur:~$ swaks --to thufir@dur.bounceme.net
=== Trying dur.bounceme.net:25...
=== Connected to dur.bounceme.net.
<-  220 dur.bounceme.net ESMTP Postfix (Ubuntu)
 -> EHLO dur.bounceme.net
<-  250-dur.bounceme.net
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250 DSN
 -> MAIL FROM:<thufir@dur.bounceme.net>
<-  250 2.1.0 Ok
 -> RCPT TO:<thufir@dur.bounceme.net>
<-  250 2.1.5 Ok
 -> DATA
<-  354 End data with <CR><LF>.<CR><LF>
 -> Date: Mon, 30 Dec 2013 14:33:17 -0800
 -> To: thufir@dur.bounceme.net
 -> From: thufir@dur.bounceme.net
 -> Subject: test Mon, 30 Dec 2013 14:33:17 -0800
 -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
 -> 
 -> This is a test mailing
 -> 
 -> .
<-  250 2.0.0 Ok: queued as 52D162C3EFF
 -> QUIT
<-  221 2.0.0 Bye
=== Connection closed with remote host.
thufir@dur:~$ 
thufir@dur:~$ mail -f Maildir
"/home/thufir/Maildir": 5 messages 1 new
     1 thufir@dur.bouncem                   15/553   test Mon, 30 Dec 2013 10:15:12 -0800
     2 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:15:55 -0800
     3 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 10:29:57 -0800
     4 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 11:54:16 -0800
>N   5 thufir@dur.bouncem                   15/581   test Mon, 30 Dec 2013 14:33:17 -0800
? 5
Return-Path: <thufir@dur.bounceme.net>
X-Original-To: thufir@dur.bounceme.net
Delivered-To: thufir@dur.bounceme.net
Received: from dur.bounceme.net (localhost [127.0.0.1])
    by dur.bounceme.net (Postfix) with ESMTP id 52D162C3EFF
    for <thufir@dur.bounceme.net>; Mon, 30 Dec 2013 14:33:17 -0800 (PST)
Date: Mon, 30 Dec 2013 14:33:17 -0800
To: thufir@dur.bounceme.net
From: thufir@dur.bounceme.net
Subject: test Mon, 30 Dec 2013 14:33:17 -0800
X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
Message-Id: <20131230223317.52D162C3EFF@dur.bounceme.net>

This is a test mailing

New mail has arrived.
? q
Held 5 messages in /home/thufir/Maildir
thufir@dur:~$ 

Es solo un comando fácil.


2
No sabía sobre swaks. ¡Gracias!
Peter Loron

17
[root@piwik-dev tmp]# mail -v root@localhost
Subject: Test
Hello world
Cc:  <Ctrl+D>

root@localhost... Connecting to [127.0.0.1] via relay...
220 piwik-dev.example.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 23 Aug 2012 10:49:40 -0400
>>> EHLO piwik-dev.example.com
250-piwik-dev.example.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<root@piwik-dev.example.com> SIZE=46
250 2.1.0 <root@piwik-dev.example.com>... Sender ok
>>> RCPT To:<root@piwik-dev.example.com>
>>> DATA
250 2.1.5 <root@piwik-dev.example.com>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 q7NEneju002633 Message accepted for delivery
root@localhost... Sent (q7NEneju002633 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 piwik-dev.example.com closing connection

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.