Ich benutze oft Telnet oder Netcat, um SMTP-Server zu verbinden und als Test eine E-Mail zu senden.
Weiß jemand, wie Sie eine E-Mail über Telnet oder Netcat senden, aber auch eine Datei anhängen ? Es gibt wahrscheinlich bessere Möglichkeiten, aber ich möchte es trotzdem wissen :-)
Ich würde mich über eine Lösung freuen, die eine kleine Bash-Shell verwendet, um das Ziel zu erreichen, aber keine anderen Tools verwenden möchte ...
Antworten:
Okay, als Ausgangspunkt für die Kommentare aller habe ich mir dieses dumme Durcheinander ausgedacht :-) ...
quelle
Ick. Sie müssen den Anhang mit base64 codieren und die MIME-Header erstellen.
Anstatt jedes Mal eine neue Nachricht "on the fly" zu generieren, ist es wahrscheinlich einfacher, sich selbst eine kurze Beispielnachricht aus einem "echten" E-Mail-Programm per E-Mail zu senden (indem Sie die Arbeit der Autoren nutzen, um den Anhang zu erstellen) in die richtige Kodierung und Erstellung der MIME-Header).
Speichern Sie diese Nachricht in einer Textdatei mit Kopfzeilen (natürlich ohne die Transportkopfzeile) und ändern Sie sie für zukünftige Sitzungen, kopieren Sie sie und fügen Sie sie in Telnet oder Netcat ein.
quelle
Während das manuelle Testen von SMTP-Servern von Hand möglich und praktikabel ist, wird die Verwendung eines dafür entwickelten Tools viel einfacher.
Dieser Artikel erklärt SWAKS . swaks wurde für das Testen von SMTP-Servern entwickelt. Unterstützt Anhänge, Authentifizierung und Verschlüsselung!
quelle
Ich bin auf diesen Eintrag gestoßen, als ich nach etwas Ähnlichem suchte. und von den Markisen hier und einigen zusätzlichen Nachforschungen habe ich es geschafft, dieses Skript zu erstellen.
Eine Sache, die Sie vielleicht hinzufügen möchten, ist die Authentifizierung. Ich brauche es nicht, also habe ich es nicht hinzugefügt.
Ich denke, es erfordert nur md5sum , netcat , file , awk und die base64- Befehle, ich glaube, sie sind in den meisten Systemen ziemlich Standard.
quelle
Dies ist, was ich tue, um E-Mails mit Bash zu senden. Ich benutze es, um mir eine Protokolldatei und eine externe IP-Adresse zu senden.
Hoffe es war gut für dich;)
psirac.
quelle
Telnet - E-Mail mit mehreren Anhängen senden
quelle
Sie müssen die SMTP-Protokollspezifikation überprüfen. Es ist eine überraschend leichte Lektüre für eine technische Spezifikation und hilft Ihnen zu verstehen, wie der E-Mail-Prozess funktioniert.
Beachten Sie insbesondere, dass Anhänge in MIME-Typen konvertiert und in Text codiert werden. Daher müssen alle Anhänge, die Sie über Telnet senden möchten, in Text konvertiert und als solcher über das Telnet-Protokoll übertragen werden.
quelle
Wenn Sie nur testen, ob der Anhang zugestellt wurde, können Sie möglicherweise den Pre-MIME-Standard für Anhänge verwenden: uuencode. Im Gegensatz zu MIME ist das Erstellen von Nachrichten viel einfacher. Im Gegensatz zu MIME werden keine Header benötigt. Allerdings erkennen nicht mehr alle E-Mail-Clients nicht kodierte Dateien als Anhänge. Ich empfehle daher, zu testen, ob Sie sie verwenden können. Wenn ja, haben Sie sich gerade viel Mühe gespart. Wenn dies nicht der Fall ist, ist es wahrscheinlich der richtige Weg, Ihre MIMEed-Nachricht per Perl oder so vorab zu erstellen und durch NetCat zu leiten.
Einen Blick wert.
quelle
Zu diesem Job gibt es ein wunderbares Perl-Skript. Sie finden es hier:
http://www.logix.cz/michal/devel/smtp-cli/
smtp-cli v2.9
Das Skript stammt vom Autor: Michal Ludvig (c) 2003-2011 http://smtp-cli.logix.cz
Ich benutze es selbst und es funktioniert großartig, danke an Michal;)
quelle