Können Anhänge über die Befehlszeile per E-Mail versendet werden?
Wenn möglich, möchte ich etwas so Einfaches wie:
mail -a myfile.txt -t [email protected] -s "Here's my file"
command-line
email
files
conorgriffin
quelle
quelle
mail
(akamailx
) ist MIME-ignorant. Daher können Anhänge nicht auf eine Weise verarbeitet werden, die nicht 1980er-Jahre alt ist. Das ist eine gute Frage, ich suche die kanonische kanonische MUA; da kommt noch mehr.Antworten:
Von allen E-Mail-Benutzeragenten im Ubuntu-Repository scheint mutt die Befehlszeilen-MUA zu sein, die mit Langzeitunterstützung gesegnet ist.
Laut Handbuch können Sie genau Folgendes tun:
außer es wird nirgendwo hingehen, da man auch einen Mail Transfer Agent benötigt. Beliebte sind:
und die einzigen, die Canonical zu unterstützen scheint, sind postfix (danke für die Korrektur Steve) und exim4 .
Man könnte auch sagen, dass xdg-email auch eine richtige Ubuntu-MUA ist, aber es ist ein Bare-Bones-Frontend, das nur Ihre bevorzugte MUA in Ihrem Namen ausführt .
Wenn Sie Ratschläge dazu wünschen, welcher MTA für Ihre Verwendung geeignet sein könnte, öffnen Sie hier möglicherweise eine andere Frage.
quelle
mutt
hat wie angekündigt funktioniert. Übrigens hat nullmailer ein gefälschtes sendmail-Frontend, sodass die meisten Programme, die mit sendmail kommunizieren möchten, ohne großen Aufwand von mir an einen echten MTA weitergeleitet werden.Ich hatte auch große Probleme mit dem Versenden von Anhangsdateien. Wenn ich eine E-Mail ohne Anhang gesendet habe, war sie erfolgreich, aber ohne Anhang. Dieses Problem wurde existent mit
sendemail
,mutt
,mail
,mailx
,uuencode
Befehle.Zum Glück wurde es witzig gelöst. Ich benutze Google Mail zum Senden von E-Mails. Sie können Ihr Google Mail-Konto so konfigurieren, dass E-Mails über Befehle im Terminal gesendet werden, wie unter http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html angegeben .
Sie können eine Text-E-Mail senden, indem Sie Folgendes verwenden:
Sie können jedoch nicht dieselbe Datei als Anhang wie folgt senden:
oder:
Schließlich habe ich verstanden, dass nur dieses Format einen Anhang senden kann:
Komischerweise besteht der Unterschied in der Existenz des "Echo" -Befehls.
Update: 201808
Scheint, dass die
-a
Option mit Großbuchstaben-A
für den Anhang jetzt geändert wurde . Das-a
scheint zum Ändern des Headers laut docquelle
.zshrc
Datei an jemanden zu senden , und obwohl ich häufigmail
schnelle Nachrichten versende, funktionierte der Versuch, einen Anhang zu senden, nicht. Ich brauchte nur eine Bestätigung, dass es möglich war, zu erkennen, dass die Reihenfolge der Argumente sehr wichtig ist. Das hat bei mir geklappt:mail -s "zshrc" -a ~/.zshrc [email protected]
... natürlich musste ich noch den Nachrichtentext eingeben und inctrl+d
die letzte leere Zeile tippen .mail [email protected] -a ~/.zshrc
"funktionierte" dahingehend, dass die Nachricht gesendet wurde, die Datei jedoch nicht gesendet wurde. Wenn ich es versuchtmail [email protected] -a ~/.zshrc -s 'zshrc'
hätte, wäre es offensichtlich gewesen, dass die Parameter nach der Empfängeradresse ignoriert wurden.Ich fand, dass der Befehl und die Parameter vor kurzem geändert worden sind.
Wenn Sie Ihre Anhänge mit diesem Befehl senden möchten:
Die Option
attachment
sollte-A
CAPITAL seinA
.quelle
Möglicherweise möchten Sie eine Datei aus der Shell senden , ansonsten verwenden Sie Thunderbird .
Versuchen Sie es in diesem Fall
thunderbird -remote ...
nützlich - vorausgesetzt, Thunderbird läuft normalerweise:Der Befehl öffnet ein Mail-Erstellungsfenster einer laufenden Thunderbird-Instanz.
Die "Von" -Adresse ist Ihre in Thunderbird konfigurierte Standardadresse .
Auch die vorhandenen Kontoeinstellungen verwendet, es ist keine separate Einrichtung erforderlich.
Für eine E-Mail
[email protected]
mit Betreff "S", Text "B" und einem Anhang/some/absolute/file.txt
lautet der BefehlEs gibt zwei Probleme:
Die angehängte Datei muss durch einen absoluten Pfad angegeben werden , was in der Praxis mühsam ist. Dies kann durch Auflösen
readlink -f
relativer Pfade erfolgen:Außerdem ist der Befehl zu lang. Verwenden Sie ein Shell-Skript oder eine Shell-Funktion mit vier Argumenten:
Mit dieser Funktion wird der Befehl lesbar:
öffnet ein thunderbird "Write" -Fenster mit dem Anhang und ausgefülltem From, To, Subject und Body-Text. Dieser kann vor dem Senden bearbeitet werden .
quelle
heirloom-mailx
package in debian bietet einenmailx
Befehl zum einfachen Versenden von MIME-Anhängen. folgendes arbeitet für mich;quelle
mail
undmailx
enthalten mit RH-Doppelgängern hat-a
für Dateianhänge, aber das in Debian- a -likes enthalten nicht.Ich möchte eine weitere Antwort hinzufügen, die zum Hinzufügen von Nachrichtentext zusammen mit dem Anhang verwendet wird. Prost!!
quelle