2012-08-16 33 views
95

Tengo un servidor SMTP, a los fines de esta pregunta vamos a llamarlo: smtp.midominio.com.Cómo comprobar si smtp está funcionando desde la línea de comandos (Linux)

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

+0

@Flexo ¿Estas preguntas no deberían migrarse en lugar de cerrarse? Parece que pertenece a Serverfault – Balmipour

+1

@Balmipour las viejas preguntas no se pueden migrar, incluso por los moderadores. Hay buenas razones para esto discutido en http://meta.stackexchange.com (no tengo un enlace para entregar en este momento), pero tenga en cuenta que la pregunta no se elimina. – Flexo

+0

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 era 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 voy a mantener el debate por otro día (y pertenece a Meta de todos modos, no SO :) – Balmipour

Respuesta

125

Telnet para el servidor SMTP como

telnet smtp.mydomain.com 25 

Sintaxis:

telnet {smtp_domain_name} {port_number} 

y copiar y pegar el siguiente

helo your_domain.com 
mail from:<[email protected]_domain.com> 
rcpt to:<[email protected]_domain.com> 
data 
From: [email protected]_domain.com 
Subject: test mail from command line 

this is test number 1 
sent from linux box 
. 

Nota: "" No se olvidó de la al final, que representa el final del mensaje

Lo encontré en la web y lo agregué al Desbordamiento de pila, ya que muchos terminan aquí.

+5

Deberías esperar la respuesta de los servidores a cada comando, y cancela si obtienes un error (código de resultado 4xx o 5xx). – tripleee

+1

Necesita una línea en blanco entre los encabezados y el mensaje, aparte de que es un ejemplo de trabajo. – martineg

+1

@tripleee: en realidad, cuando pegué esto en telnet, puedo recibir correos electrónicos del servidor smtp. Nota: después del "." al final, dejé un salto de línea. – balanv

18
[[email protected] tmp]# mail -v [email protected] 
Subject: Test 
Hello world 
Cc: <Ctrl+D> 

[email protected] 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:<[email protected]> SIZE=46 
250 2.1.0 <[email protected]>... Sender ok 
>>> RCPT To:<[email protected]> 
>>> DATA 
250 2.1.5 <[email protected]>... Recipient ok 
354 Enter mail, end with "." on a line by itself 
>>> . 
250 2.0.0 q7NEneju002633 Message accepted for delivery 
[email protected] Sent (q7NEneju002633 Message accepted for delivery) 
Closing connection to [127.0.0.1] 
>>> QUIT 
221 2.0.0 piwik-dev.example.com closing connection 
20

Lo único que tiene que ver con el uso de telnet para probar postfix u otro SMTP es que debe conocer los comandos y la sintaxis. En su lugar, solo use swaks :)

[email protected]:~$ 
[email protected]:~$ mail -f Maildir 
"/home/thufir/Maildir": 4 messages 
> 1 [email protected]     15/553 test Mon, 30 Dec 2013 10:15:12 -0800 
    2 [email protected]     15/581 test Mon, 30 Dec 2013 10:15:55 -0800 
    3 [email protected]     15/581 test Mon, 30 Dec 2013 10:29:57 -0800 
    4 [email protected]     15/581 test Mon, 30 Dec 2013 11:54:16 -0800 
? q 
Held 4 messages in /home/thufir/Maildir 
[email protected]:~$ 
[email protected]:~$ swaks --to [email protected] 
=== 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:<[email protected]> 
<- 250 2.1.0 Ok 
-> RCPT TO:<[email protected]> 
<- 250 2.1.5 Ok 
-> DATA 
<- 354 End data with <CR><LF>.<CR><LF> 
-> Date: Mon, 30 Dec 2013 14:33:17 -0800 
-> To: [email protected] 
-> From: [email protected] 
-> 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. 
[email protected]:~$ 
[email protected]:~$ mail -f Maildir 
"/home/thufir/Maildir": 5 messages 1 new 
    1 [email protected]     15/553 test Mon, 30 Dec 2013 10:15:12 -0800 
    2 [email protected]     15/581 test Mon, 30 Dec 2013 10:15:55 -0800 
    3 [email protected]     15/581 test Mon, 30 Dec 2013 10:29:57 -0800 
    4 [email protected]     15/581 test Mon, 30 Dec 2013 11:54:16 -0800 
>N 5 [email protected]     15/581 test Mon, 30 Dec 2013 14:33:17 -0800 
? 5 
Return-Path: <[email protected]> 
X-Original-To: [email protected] 
Delivered-To: [email protected] 
Received: from dur.bounceme.net (localhost [127.0.0.1]) 
    by dur.bounceme.net (Postfix) with ESMTP id 52D162C3EFF 
    for <[email protected]>; Mon, 30 Dec 2013 14:33:17 -0800 (PST) 
Date: Mon, 30 Dec 2013 14:33:17 -0800 
To: [email protected] 
From: [email protected] 
Subject: test Mon, 30 Dec 2013 14:33:17 -0800 
X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/ 
Message-Id: <[email protected]> 

This is a test mailing 

New mail has arrived. 
? q 
Held 5 messages in /home/thufir/Maildir 
[email protected]:~$ 

Es solo un comando fácil.

+1

No sabía nada de swaks. ¡Gracias! –

Cuestiones relacionadas