So überprüfen Sie, ob SMTP über die Befehlszeile (Linux) funktioniert [geschlossen]


128

Ich habe einen SMTP-Server, zum Zweck dieser Frage nennen wir ihn: smtp.mydomain.com.

Wie überprüfe ich, ob der SMTP-Server funktioniert? Kann ich E-Mails manuell über die Linux-Befehlszeile senden?


@Flexo Sollten solche Fragen nicht migriert und nicht geschlossen werden? Dieser sieht aus wie es zu Serverfault gehört
Balmipour

1
@Balmipour alte Fragen können auch von Moderatoren nicht migriert werden. Es gibt gute Gründe dafür, die auf meta.stackexchange.com diskutiert werden (ich habe momentan keinen Link zur Hand), aber beachten Sie, dass die Frage nicht gelöscht wird.
Flexo

Nachdem ich mehrere Beiträge auf Meta überprüft habe, scheint es (für mich), dass die Migration "nur" zuerst erneut geöffnet werden muss. Vielleicht ist das bei alten Fragen übrigens nicht möglich. Ich denke du weißt das besser als ich. Trotzdem danke für deine Antwort. Ein relevanterer Punkt, den ich in Meta-Posts gelesen habe, war, dass die Migration eine "besonders wertvolle" Frage zu erfordern scheint. Nicht dass dieser nutzlos wäre, aber er ist auch kein Juwel. Ich verstehe nicht so viel, da SO gegenüber anderen Websites wie ServerFault / Linux oder Superuser überbewertet ist, aber ich werde die Debatte für einen weiteren Tag aufrechterhalten (und es gehört sowieso Meta, nicht SO :)
Balmipour

Antworten:


175

Die Syntax zum Herstellen einer unformatierten Netzwerkverbindung mithilfe von Telnet lautet wie folgt:

telnet {domain_name} {port_number}

Also telnet auf deinen SMTP Server wie

telnet smtp.mydomain.com 25

Und kopieren Sie die folgenden und fügen Sie sie ein

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

Hinweis: Vergessen Sie nicht das "." am Ende, das das Ende der Nachricht darstellt. Das Beenden der Zeile "Beenden" beendet die Sitzung.


6
Sie sollten auf die Antwort des Servers auf jeden Befehl warten und abbrechen, wenn Sie einen Fehler erhalten (4xx- oder 5xx-Ergebniscode).
Tripleee

18
Anstatt zu hello velanapps.comschreiben helo velanapps.comund wenn Sie wissen möchten, welche SMTP- Erweiterungen verfügbar sind, sollten Sie schreiben ehlo velanapps.com, wie im SMTP-Beispiel
jgrocha

4
Sie können beenden, indem Sie quit
rhand

2
Diese Antwort war nützlich, aber ich habe die erste Zeile in meinen Tests weggelassen. Ich habe immer noch E-Mails vom SMTP-Server erhalten. Es wäre hilfreich, wenn Sie ein wenig darüber berichten könnten, was die velanapps.com-Domain hier tut. Ich bin immer vorsichtig, wenn ich sehe, dass eine Domain für so etwas verwendet wird, ohne zu erklären, was sie mit unseren Daten macht. Vielen Dank.
Jeremy

2
@ Jeremy Es ist nur ein Beispiel Daten, ich habe es entfernt und Platzhalter hinzugefügt ...
balanv

26

Das einzige, was Sie mit Telnet zum Testen von Postfix oder anderem SMTP tun können, ist, dass Sie die Befehle und die Syntax kennen müssen. Verwenden Sie stattdessen einfach 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 ist nur ein einfacher Befehl.


2
Ich wusste nichts über Swaks. Vielen Dank!
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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.