Wie wird Mail tatsächlich gesendet, wenn ich den Linux-Befehl "mail" verwende?

Welches E-Mail-Konto wird verwendet, um eine E-Mail zu senden, wenn der Befehl mail vom Linux-Terminal aus wie folgt verwendet wird:

echo "Body of email" | mail -s "Subject" [email protected]

Wenn die E-Mails nicht gesendet werden, muss der Benutzername und das Passwort einer sendenden E-Mail-Adresse angegeben werden? Alle mail Tutorials, die ich gelesen habe, geben nichts über die Absenderadresse an.

Bearbeiten: Wenn ich also eine Fehlermeldung mit dem Effekt "Mailing an Remote-Domains nicht unterstützt" erhalte, bedeutet dies, dass mein ISP das Senden von E-Mails blockiert hat? Gibt es eine Möglichkeit, dies zu umgehen? Danke.

Author: slhck, 2012-01-31

4 answers

Welches E-Mail-Konto wird verwendet, um eine E-Mail zu senden, wenn der Mail-Befehl vom Linux-Terminal verwendet wird, wie in:

In Standardkonfigurationen ist es dasselbe Konto, mit dem Sie sich angemeldet haben. Auf Ihrem Computer ist ein Mailserver-Programm (MTA) installiert; normalerweise entweder Postfix oder Exim4, manchmal Sendmail oder qmail.

Die E-Mail-Adresse dieses Kontos lautet your-login@hostname oder your-login@fqdn, wobei der FQDN von hostname -f abgerufen werden kann. Im Moment können Sie jedoch keine E-Mails erhalten zu dieses Konto, da der MTA für "nur lokale E-Mails" konfiguriert ist (wie in der folgenden Fehlermeldung angegeben) und keine Nachrichten von außen akzeptiert.

Bearbeiten: Wenn ich also eine Fehlermeldung mit dem Effekt "Mailing an Remote-Domains nicht unterstützt" erhalte, bedeutet dies, dass mein ISP das Senden von E-Mails blockiert hat? Gibt es eine Möglichkeit, dies zu umgehen?

Nein; Diese Fehlermeldung wird von Ihrem eigenen Computer zurückgegeben. Der Mailserver ist so konfiguriert, dass nur lokal übertragen wird mail – von einem Benutzer zum anderen (am häufigsten vom [[19]}cron - Daemon, wenn ein Cronjob fehlschlägt). Normalerweise gehen diese Nachrichten zu /var/mail/login und sind lesbar mit mail, mutt, re-alpine, oder ähnliche Programme. (IIRC, Thunderbird hatte die Möglichkeit, auch lokale Mail-Spulen zu importieren.)

Es ist nicht schwer, den Mailserver neu zu konfigurieren, um E-Mails an/von anderen Sites zu senden und zu empfangen; abhängig von der installierten MTA und der Linux-Distribution reicht möglicherweise sogar ein einziger Befehl aus: zum Beispiel, dpkg-reconfigure postfix wenn das System Debian mit Postfix ist.

Ich vermute jedoch, dass Sie dies auf einem PC verwenden, daher ist es besser, stattdessen ein externes Mail-Konto zu verwenden – zum Beispiel Ihre Google Mail-Adresse, wenn Sie eines haben. Finden Sie heraus, welche MTA installiert ist (auf Ubuntu/Debian, dpkg -S /usr/sbin/sendmail wird Ihnen sagen), dann Google für "program-name relay gmail" für ein Tutorial.

Alternativ installieren Sie einen MTA, der speziell für die Weiterleitung entwickelt wurde; msmtp und esmtp sind eine gute Wahl und einfach zu konfigurieren.

 15
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
2012-01-31 21:10:52

Der Mail-Befehl sendet E-Mails unter dem aktuellen Konto, dh Benutzername@domain ; In der Regel verhindern Internetdienstanbieter jedoch, dass Benutzer ihre eigenen E-Mail-Server ausführen (indem sie die entsprechenden Ports blockieren), um Spam zu vermeiden, und daher wird Ihre E-Mail nicht gesendet.

Das Sendeproblem kann jedoch auch mit der Konfiguration Ihres Computers zusammenhängen.

Bearbeiten: Aktivieren von E-Mails zum Senden von E-Mails von z. B. Google Mail. Geben Sie die folgenden Informationen in Ihr ~/ein.mailrc datei, die bietet basing-Konfiguration auf Mail. Stellen Sie jedoch sicher, dass diese Datei nur für Sie zugänglich ist (mit chmod 600 ~/.mailrc)

account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set [email protected]
set smtp-auth-password=pass
set [email protected]
}

In diesem Fall kommt die E-Mail von "[email protected]".

 5
Author: Karolos,
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
2012-01-31 21:01:44

Es ist der Kontoname und der Hostname des sendenden Benutzers, zum Beispiel root@myserver. Es ist nicht unbedingt eine tatsächliche Mailbox, die E-Mails von außen empfangen kann.

 4
Author: Daniel Beck,
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
2012-01-31 20:49:00

Beziehen diese So senden Sie E-Mails von der Linux-Befehlszeile für einige weitere Informationen

 0
Author: Siva Charan,
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
2012-01-31 20:53:16