cURL unterstützt das Senden von E-Mails an einen SMTP-Server
cURL sendet in Kombination mit Befehlszeilenoptionen eine E-Mail an einen Empfänger. Ursprünglich stand der Name für „see URL“ und wurde erst später zum aktuellen Backronym cURL umgedeutet.
Der grundlegende Befehl zum Senden einer Mail mit cURL.
$ curl smtp://mail.server.com --mail-from sender@domain.com --mail-rcpt
receiver@domain.com --upload-file email.txt
Beispiel Anwendung von cURL SMTP im Terminal-Emulator:
$ curl -v smtp://mail.server.com/email.com --mail-from don@email.com --mail-rcpt rosa@email.com --upload-file email.txt
Es folgt die Ausgabe im Terminal:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 10.12.15.13...
* TCP_NODELAY set
* Connected to mail.server.com (10.12.15.13) port 25 (#0)
< 220 mail.server.com ESMTP
> EHLO email.com
< 250-mail.server.com
< 250-PIPELINING
< 250-SIZE 22000000
< 250-ETRN
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 DSN
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> MAIL FROM:<don@email.com> SIZE=355
< 250 2.1.0 Ok
> RCPT TO:<rosa@email.com>
< 250 2.1.5 Ok
> DATA
< 354 End data with <CR><LF>.<CR><LF>
} [355 bytes data]
* We are completely uploaded and fine
< 250 2.0.0 Ok: queued as B744B28008
100 355 0 0 100 355 0 355 0:00:01 --:--:-- 0:00:01 1334
* Connection #0 to host mail.server.com left intact
Durch den Parameter -v wird die verbose Ausgabe erzeugt.
Die Datei email.txt wird von cURL zum SMTP-Relay hochgeladen und versendet.
From: Don <don@email.com>
To: Rosa <rosa@email.com>
Subject: Das ist ein Beispiel mit cURL SMTP
Date: Sam, 19. Jan 2019 12:50:16
Hallo Rosa,
Willkommen zum cURL eMail, heute ist ein schöner Tag.
Der Inhalt von email.txt, mit die Zeilen From
, To
, Subject
und Date
sind Datenfelder, diese dem Simple Mail Transfer Protocol dient.
Der Mail Transfer Agent (MTA) muss so konfiguriert sein, das Mails von dem Host akzeptiert werden, auf diesem cURL eingesetzt wird, falls es nicht selber ein MTA ist, muss eine direktive bei smtpd_sender_restrictions, b.z.w. smtpd_client_restrictions konfiguriert werden.
Anmerkung
cURL ist eine Programmbibliothek und ein Kommandozeilen Programm zum Übertragen von Dateien in Netzwerke. cURL steht unter der Open-Source MIT Lizenz und wurde für zahlreichen Betriebssysteme portiert. Die zugehörige Programmbibliothek libcurl wird von zahlreichen Programmen und Programmiersprachen verwendet und gilt als eine der meist verwendeten Software-Bibliotheken überhaupt.
Daniel Stenberg, der Programmierer von cURL, begann 1997 ein Programm zu schreiben, das IRC-Teilnehmern Daten über Wechselkurse zur Verfügung stellen sollte, welche von Webseiten abgerufen werden mussten. Er setzte dabei auf das vorhandene Open-Source-Tool httpget. Nach einer Erweiterung um andere Protokolle wurde das Programm am 20. März 1998 als cURL 4 erstmals veröffentlicht. Ursprünglich stand der Name für „see URL“ und wurde erst später von Stenberg nach einem besseren Vorschlag zum aktuellen Backronym umgedeutet.