Ich habe die Zimbra Collaboration Suite auf CentOS 7 installiert. Ich muss Mutt verwenden, um jede Stunde eine E-Mail zu senden.
Das Problem besteht darin, dass mein Skript bei jeder Ausführung von Mutt die Nachricht nicht in einem bestimmten (Remote-IMAP-)Ordner in der Datei .muttrc speichert.
Wenn ich den Befehl inzwischen direkt ausführe, wird die Nachricht im Ordner gespeichert.
Dies ist meine .muttrc-Konfiguration, die sich im Home-Verzeichnis des aktuellen Benutzers befindet, der das Skript ausführt:
set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@localhost"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes
set ssl_starttls=yes
set ssl_force_tls=yes
set smtp_url = "smtp://username:password@localhost:587"
Dies ist der Mutt-Aufruf, der stündlich von Cron ausgeführt wird:
echo "Test" | mutt -s "IP Address Information" [email protected]
Wenn ich den Befehl folgendermaßen aufrufen würde:
mutt -s "IP Address Information" [email protected]
und folge dem Vorgang (mutt öffnet vi und lässt mich den Text eingeben), es speichert die Nachricht im Ordner. Aber dann kann ich diesen Befehl nicht in das Skript einfügen, da er automatisch erfolgen sollte.
Dies ist der Zielordner, den ich erwähnt habe:
Antwort1
Ich habe vor Kurzem die Standorte von Mutt und Zimbra getrennt und festgestellt, dass es bei der E-Mail-Zustellung ein Zertifikatsproblem gab.
mutt wartet auf eine Bestätigung, ob es ein Zertifikat annehmen oder ablehnen kann. Wenn es ohne Interaktivität ausgeführt wird, lehnt es das Zertifikat automatisch ab. [das ist meine Annahme des Verhaltens]
Hier ist eine aktualisierte .muttrc:
set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@zimbra_or_postfix_server"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes
set certificate_file=.mutt-certs
set ssl_starttls=yes
set ssl_force_tls=yes
set smtp_url = "smtp://username:password@zimbra_or_postfix_server:587"
Ich habe nach der Lösung für dieses Problem gesucht und hier die Antwort gefunden:http://www.seas.upenn.edu/cets/answers/mutt-certificates.htmlset certificate_file
Darin wird erklärt, dass ich einer Datei eine Direktive hinzufügen muss .
Nachdem ich Mutt das selbstsignierte Zertifikat speichern ließ, kann das Skript erneut E-Mails an den MTA übermitteln. Wenn ich jedoch das Postfach des für die Übermittlung verwendeten Kontos überprüfe, gibt es dort einen Ordner namens „IPInfo“, der der set record
Anweisung folgt. Daher gehe ich davon aus, dass die Lösung für mein ursprüngliches Problem darin besteht, Mutt das selbstsignierte Zertifikat speichern zu lassen.
Ich hoffe, dies hilft jedem, der nach einer ähnlichen Antwort sucht.