Einrichten der lokalen E-Mail-Zustellung an den Benutzer über ein Cron-Skript

Einrichten der lokalen E-Mail-Zustellung an den Benutzer über ein Cron-Skript

Eine Zeile in meinem cron.daily-Skript funktioniert nicht wie erwartet. Ich habe keinebesondersSMTP-Mailserver im System, diese Zeile rsync -avun --inplace /oneuser/file.xls /otheruser/file.xls| mail -s "$0 $?" Cannot open mail:25Nachricht bereitstellen Was brauche ich, um ein lokales Mail-Subsystem einzurichten? Ich bevorzuge einfache Postfächer gegenüber der Einrichtung eines E-Mail-Servers. Mir gefällt, dass andere angemeldete Benutzer Cron-Nachrichten (Root) per mailBefehl lesen können. Ich habe eine ähnliche Frage gefunden, aber hier nicht die AntwortWie richte ich den lokalen Abruf und die Zustellung von E-Mails ein?

wenn ich versuche, eine E-Mail an den Benutzer mit Befehl zu senden, mailerhalte ich nach Punkt

EOT
[root@localhost etc]# send-mail: Cannot open mail:25

Antwort1

Ich empfehle Ihnen, die Installation nur postfixfür die lokale E-Mail-Zustellung durchzuführen. Zumindest unter Ubuntu werden Sie interaktiv nach Ihrem Setup gefragt, das eine Option nur für die lokale Zustellung enthält.

Darüber hinaus können Sie mailboyfür die E-Mail-Zustellung ein lokales Konto einrichten und allen Benutzern erlauben, die an dieses Konto gesendeten E-Mails zu lesen.

Um die E-Mail rootan zuzustellen mailboy, bearbeiten /etc/aliasesund fügen Sie eine Zeile hinzu:

root: mailboy@localhost

Führen Sie anschließend aus newaliases.

Antwort2

Ich hatte diese Meldungen auch im Protokoll und es ist SSMT, das anscheinend der neue Standard zum Senden von E-Mails von Fedora 19+ ist oder zumindest auf meinem Fedora 19 installiert zu sein scheint. Wenn Sie einen anderen MTA auf Port 25 laufen haben, wird SSMT diesen Fehler ausgeben. Aber ich schreibe eher, um zu sagen, dass nicht gesendete Nachrichten in eine dead.letter-Datei gehen, in meinem Fall auf /root. Wenn Sie sich also fragen, was mit den nicht zugestellten E-Mails passiert ist, die sich in einer Datei mit dem Namen dead.letter befinden.

Antwort3

Ich verwende Fedora 20 und plötzlich tritt dieser Fehler auf neu installierten Systemen auf. Alle vorherigen Hosts (>70) konnten nur so etwas tun wie:

echo "Hallo Welt" | mail -s "Gruß"[email geschützt]

so nützlich für Skripte und so weiter.

Nun begannen Kommandozeilenaufrufe zu scheitern mit

sSMTP[3144]: Keine Verbindung zum „Mail“-Port 25 möglich. sSMTP[3144]: Mail:25 kann nicht geöffnet werden.

Das Journal von sendmail weist darauf hin, dass der Befehl die Option -bd („als Daemon ausführen“) nicht mag. Wieso? Wenn er nicht als Daemon ausgeführt wird, hört er natürlich nicht auf 25/tcp, was den Fehler verursacht.

Folgen Sie nun dem Befehl selbst. Anstatt die ursprüngliche Sendmail-Binärdatei auszuführen, ist ssmtp dazwischengekommen und hat sie verdrängt.

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.ssmtp

anstatt

/usr/sbin/sendmail -> /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail

Nun ist ssmtp laut seiner Manpage sehr einfach, soll Sendmail in seiner einfachsten Funktion ersetzen – und unterstützt die Option -bd nicht. Daher kein Port 25.

Hier bricht alles ab – der Befehl, der mit Port 25 kommuniziert, wird abgebrochen.

Ich habe die Deinstallation durchgeführt (yum remove ssmtp) – und dadurch wurde das ursprüngliche Sendmail wieder in seine Funktion aufgenommen. Durch erneutes Starten des Dienstes wird Port 25 zum Leben erweckt.

Nun funktioniert der Mailversand wieder in alter Form.

Gleich werde ich mir die Vorteile von SSMT ansehen ...

Antwort4

Was Sie brauchen, ist ein SMTP-Server, einMail Transfer Agent.

opensmtpdSie können den Dienst einfach installieren und starten.Die Standardkonfigurationdient der lokalen Postzustellung.

verwandte Informationen