Come verificare se smtp funziona dalla riga di comando (Linux) [chiuso]


128

Ho un server SMTP, ai fini di questa domanda, chiamiamolo: smtp.mydomain.com.

Come posso verificare se il server SMTP funziona? Posso inviare e-mail manualmente dalla riga di comando di Linux?


@Flexo Non è necessario migrare tali domande anziché chiuderle? Questo sembra appartenere a Serverfault
Balmipour,

1
@Balmipour vecchie domande non possono essere migrate, nemmeno dai moderatori. Ci sono buone ragioni per discuterne su meta.stackexchange.com (non ho un link a portata di mano in questo momento), ma nota che la domanda non viene cancellata.
Flexo

Dopo aver controllato diversi post su Meta, sembra (per me) che la migrazione "solo" debba prima riaprire. Forse questo non è possibile con vecchie domande, tra l'altro. Immagino tu lo sappia meglio di me. Comunque, grazie per la tua risposta. Un punto più rilevante che ho letto nei meta post è che la migrazione sembra richiedere una domanda "particolarmente preziosa". Non che questo sia inutile, ma non è neanche un gioiello. Non capisco molto, dato che SO è sopravvalutato rispetto ad altri siti come ServerFault / Linux o Superuser, ma terrò il dibattito per un altro giorno (e appartiene comunque a Meta, non SO :)
Balmipour,

Risposte:


175

La sintassi per stabilire una connessione di rete non elaborata tramite telnet è questa:

telnet {domain_name} {port_number}

Quindi telnet al tuo server smtp piace

telnet smtp.mydomain.com 25

E copia e incolla il seguito

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: non dimenticare il "." alla fine che rappresenta la fine del messaggio. La riga "quit" termina la sessione.


6
È necessario attendere la risposta del server a ciascun comando e interrompere in caso di errore (codice risultato 4xx o 5xx).
Tripleee

18
Invece di hello velanapps.comte dovresti scrivere helo velanapps.come se vuoi sapere quali estensioni smtp sono disponibili, dovresti scrivere ehlo velanapps.com, come nell'esempio SMTP
jgrocha

4
puoi uscire digitando quit
rhand

2
Questa risposta è stata utile, tuttavia ho omesso la prima riga nei miei test. Ho ricevuto e-mail dal server SMTP. Sarebbe utile se potessi includere un po 'di ciò che il dominio velanapps.com sta facendo qui. Sono sempre cauto quando vedo un dominio usato per qualcosa del genere senza spiegazioni su cosa sta facendo con i nostri dati. Grazie.
Jeremy,

2
@Jeremy È solo un dato di esempio, l'ho rimosso e aggiunto un segnaposto ...
balanv,

26

L'unica cosa sull'uso di telnet per testare postfix, o altri SMTP, è che devi conoscere i comandi e la sintassi. Invece, usa solo 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:~$ 

È solo un comando facile.


2
Non sapevo di Swaks. Grazie!
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

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.