Wie richte ich den Unix-Befehl 'mail' ein?


9

Ich habe in Google und auf den Manpages nach E-Mails gesucht, kann aber nicht herausfinden, wie ich sie einrichten soll. Ich möchte lediglich meine E-Mail-Adresse so einrichten, dass ich E-Mails über das Terminal senden kann. Wie mache ich das?

Antworten:


12

Traditionell verlassen sich Unix-Mail-Programme, einschließlich mail, auf einen MTA (Mail Transfer Agent), um die eigentliche Übertragung durchzuführen.

Sie können entweder einen MTA in voller Größe (postfix, exim4, opensmtpd) verwenden, indem Sie ihn mit einem 'smarthost' (Relayhost) konfigurieren, oder einen leichten, nur ausgehenden MTA (msmtp, ssmtp, esmtp, nullmailer), der immer einen verwendet.


Für den persönlichen Gebrauch msmtpam einfachsten einzurichten - es kann nur E-Mails senden, nicht empfangen und ermöglicht eine benutzerspezifische Konfiguration.

Installieren Sie msmtpund fügen Sie Ihr Google Mail-Konto hinzu in ~/.msmtprc:

Standardeinstellungen
    tls auf
    # Der Pfad unten muss möglicherweise angepasst werden
    tls_trust_file /etc/ssl/certs/ca-certificates.crt

Konto Google Mail
    von Ihrer Adresse @ gmail.com
    Host smtp.gmail.com
    Port 587
    auth plain
    Benutzer Ihre Adresse @ gmail.com

Kontostandard: Google Mail

Sagen Sie jetzt mailzu verwenden msmtp, indem Sie bearbeiten ~/.mailrc:

setze sendmail = "/ usr / bin / msmtp"

(Wenn dies nicht funktioniert, führen Sie es ln -s /usr/bin/msmtp /usr/sbin/sendmailals root aus.)

Schließlich, wenn Sie wollen mail/ msmtperinnern , Ihr Google Mail - Passwort, geht es um ~/.netrc:

Maschine smtp.gmail.com
    Login youraddress @ gmail.com 
    Passwort " Ihr Passwort hier "

3

Sofern Ihr Systemadministrator das Mailsystem nicht bereits eingerichtet hat, müssen Sie einen Mail Transfer Agent konfigurieren. Das ist traditionell sendmail, moderne Systeme verwenden postfix oder exim4.


2

Auf vielen Systemen finden Sie einen mailxBefehl, mit dem Sie E-Mails senden können. Dies kann eine Verknüpfung zum Befehl mail sein, ändert jedoch das Verhalten des Befehls. Wie bereits erwähnt, wird davon ausgegangen, dass auf Ihrem Server ein MTA (Mail Transfer Agent) konfiguriert ist. Es kann interaktiv mit einem Befehl wie dem folgenden verwendet werden:

mailx -s "This is a message" user@example.com
This is a message
.

Oder mit einer Pipe, um die Ausgabe eines Befehls zu senden:

cat myfile.txt | mailx -s "This is the file" user@example.com

Wenn Sie es so mailx -hausführen, sollten Sie Anweisungen zur Verwendung erhalten.


1

Wenn Sie nicht an den mailBefehl gebunden sind , nailbietet er eine ähnliche Schnittstelle, kann jedoch E-Mails über SMTP senden.

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.