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

Ich habe mir Google und die Manpages für Mail angesehen, aber ich kann nicht herausfinden, wie ich sie einrichten soll. Alles, was ich tun möchte, ist meine E-Mail-Adresse einzurichten, damit ich E-Mails über das Terminal senden kann. Wie mache ich das?

Author: Tamara Wijsman, 2011-10-29

4 answers

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 MTA nur für ausgehende Verbindungen (msmtp, ssmtp, esmtp, nullmailer), der immer einen verwendet.


Für den persönlichen Gebrauch ist msmtp am einfachsten einzurichten – es kann nur E-Mails senden, nicht empfangen und benutzerspezifisch sein Konfiguration.

Installieren Sie msmtp und fügen Sie dann Ihr Google Mail-Konto zu ~/.msmtprc hinzu:

defaults
    tls on
    # the path below may need to be adjusted
    tls_trust_file /etc/ssl/certs/ca-certificates.crt

account gmail
    from youraddress@gmail.com
    host smtp.gmail.com
    port 587
    auth plain
    user youraddress@gmail.com

account default : gmail

Sagen Sie nun mail, msmtp zu verwenden, indem Sie ~/.mailrc bearbeiten:

set sendmail="/usr/bin/msmtp"

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

Schließlich, wenn sie wollen mail/msmtp um sich Ihr Google Mail-Passwort zu merken, geht es zu ~/.netrc:

machine smtp.gmail.com
    login youraddress@gmail.com
    password "your password here"
 12
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-09-24 04:23:17

Sofern Ihr Systemadministrator das Mailsystem nicht bereits eingerichtet hat, müssen Sie einen Mailübertragungsagenten konfigurieren. Das ist Sendmail Traditionell verwenden moderne Systeme Postfix oder exim4.

 3
Author: ott--,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-29 15:02:00

Auf vielen Systemen finden Sie einen Befehl mailx, mit dem Sie E-Mails senden können. Dies kann ein Link zum Mail-Befehl sein, ändert jedoch das Verhalten des Befehls. Wie andere bemerkt haben, setzt dies voraus, dass Sie einen MTA (Mail Transfer Agent) auf Ihrem Server konfiguriert haben. Es kann interaktiv mit einem Befehl wie verwendet werden:

mailx -s "This is a message" [email protected]
This is a message
.

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

cat myfile.txt | mailx -s "This is the file" [email protected]

Wenn Sie es als mailx -h ausführen, sollten Sie Gebrauchsanweisungen erhalten.

 2
Author: BillThor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-29 19:32:17

Wenn Sie nicht an den Befehl mail gebunden sind, nail bietet eine ähnliche Schnittstelle, kann aber E-Mails mit SMTP senden.

 1
Author: Jens Erat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-29 16:10:16