
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:25
Nachricht 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 mail
Befehl 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, mail
erhalte ich nach Punkt
EOT
[root@localhost etc]# send-mail: Cannot open mail:25
Antwort1
Ich empfehle Ihnen, die Installation nur postfix
fü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 mailboy
fü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 root
an zuzustellen mailboy
, bearbeiten /etc/aliases
und 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.
opensmtpd
Sie können den Dienst einfach installieren und starten.Die Standardkonfigurationdient der lokalen Postzustellung.