Comment vérifier si smtp fonctionne à partir de la ligne de commande (Linux) [fermé]


128

J'ai un serveur SMTP, aux fins de cette question appelons-le: smtp.mydomain.com.

Comment vérifier si le serveur SMTP fonctionne? Puis-je envoyer des e-mails manuellement à partir de la ligne de commande Linux?


@Flexo Ces questions ne devraient-elles pas être migrées plutôt que fermées? Celui-ci semble appartenir à Serverfault
Balmipour

1
Les anciennes questions @Balmipour ne peuvent pas être migrées, même par les modérateurs. Il y a de bonnes raisons à cela discuté sur meta.stackexchange.com (je n'ai pas de lien sous la main pour le moment), mais notez que la question n'est pas supprimée.
Flexo

Après avoir vérifié plusieurs articles sur Meta, il me semble que la migration "juste" doit être rouverte en premier. Peut-être que ce n'est pas possible avec de vieilles questions, d'ailleurs. Je suppose que tu le sais mieux que moi. Quoi qu'il en soit, merci pour votre réponse. Un point plus pertinent que j'ai lu dans les méta-posts était que la migration semble exiger une question «particulièrement précieuse». Non pas que celui-ci soit inutile, mais ce n'est pas non plus un bijou. Je ne comprends pas beaucoup cela, car SO est surfait sur d'autres sites comme ServerFault / Linux ou Superuser, mais je garderai le débat un autre jour (et il appartient de toute façon à Meta, pas SO :)
Balmipour

Réponses:


175

La syntaxe pour établir une connexion réseau brute à l'aide de telnet est la suivante:

telnet {domain_name} {port_number}

Donc, telnet sur votre serveur smtp comme

telnet smtp.mydomain.com 25

Et copiez et collez le ci-dessous

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

Remarque: n'oubliez pas le "." à la fin qui représente la fin du message. La ligne "quitter" quitte la session.


6
Vous devez attendre la réponse du serveur à chaque commande et abandonner si vous obtenez une erreur (code de résultat 4xx ou 5xx).
tripleee

18
Au lieu de hello velanapps.comvous devriez écrire helo velanapps.comet si vous voulez savoir quelles extensions smtp sont disponibles, vous devriez écrire ehlo velanapps.com, comme dans l' exemple SMTP
jgrocha

4
vous pouvez quitter en tapant quit
rhand

2
Cette réponse a été utile, mais j'ai omis la première ligne de mes tests. Je reçois toujours des e-mails du serveur smtp. Il serait utile que vous puissiez inclure un peu plus sur ce que le domaine velanapps.com fait ici. Je me méfie toujours quand je vois un domaine utilisé pour quelque chose comme ça sans aucune explication quant à ce qu'il fait avec nos données. Merci.
Jeremy

2
@Jeremy Ce n'est qu'un exemple de données, je l'ai supprimé et ajouté un espace réservé ...
balanv

26

La seule chose à propos de l'utilisation de telnet pour tester postfix, ou autre SMTP, est que vous devez connaître les commandes et la syntaxe. Au lieu de cela, utilisez simplement des 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:~$ 

C'est juste une commande simple.


2
Je ne connaissais pas les swaks. Merci!
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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.