Ich verwende Remote-SMTP über nullmailer und es ist erforderlich, das Feld "Von" auf den spezifischen Namen festzulegen, aber cron legt es als root@my.sweet.server.com fest.
Wie könnte ich es in so etwas wie me@ya.ru ändern?
Ich verwende Remote-SMTP über nullmailer und es ist erforderlich, das Feld "Von" auf den spezifischen Namen festzulegen, aber cron legt es als root@my.sweet.server.com fest.
Wie könnte ich es in so etwas wie me@ya.ru ändern?
Antworten:
Ich glaube nicht, dass Sie die FROM-Adresse ändern können (jemand sollte eine MAILFROM-Option hinzufügen).
Sie können jedoch so etwas tun, um ein ähnliches Ergebnis zu erzielen:
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" toaddress@example.com -- -r "fromaddress@example.com" -F"Full Name of sender"
Die gesamte Ausgabe wird an den Befehl mail weitergeleitet, sodass die Variable MAILTO überhaupt nicht verwendet wird.
Die to-Adresse müsste festgelegt werden, aber möglicherweise können Sie die Variable $ MAILTO verwenden. Mit - werden die restlichen Optionen als sendmail-Optionen festgelegt, sodass Sie die Optionen -r und -F verwenden können.
-s ist das Thema
-r ist die Antwortadresse
-F ist der vollständige Name des Absenders (sieht in E-Mail-Clients gut aus)
Moderne Versionen von cron akzeptieren "MAILFROM = ..." im crontab-Format. Ich schlage vor, dass Sie "Mann 5 Crontab" versuchen. Wenn MAILFROM erwähnt wird, sollte Ihre Version dies unterstützen. Der zu suchende Ausdruck befindet sich gegen Ende des Abschnitts, in dem MAILTO behandelt wird, und sollte ungefähr so lauten:
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
MAILFROM
in man 5 crontab
.
cronie
, um cron
auf Debian / Ubuntu zu ersetzen . Ta-daa: MAILFROM
existiert:
/ etc / mailname enthält den Domainnamen als Teil der FROM-Adresse. Wenn / etc / mailname 'somecompany.com' enthält, hat cron, das für root ausgeführt wird, den Absender root@somecompany.com
Sie können den Nullmailer von der Adresse über Umgebungsvariablen oder die Befehlszeile einstellen. Die Befehlszeilenargumente lauten -f
und -F
für die Absenderadresse bzw. den vollständigen Namen.
Normalerweise können Sie Umgebungsvariablen in der crontab setzen.
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
Für mich ist der einfachste Weg, die Absenderadresse auf einem System zu ändern, eine ~/.mailrc
Datei mit folgendem Inhalt zu erstellen :
set name="My Full Name"
set from="myrealemail@example.com"
Alle mail
Befehle, die als mein Benutzer ausgeführt werden, verwenden jetzt diese Einstellungen.
Siehe diese Frage bei Verwendung von Exim:
exim: "From" -Header in Umschlag "FROM" umschreiben
Es sollte die "Von" -Adresse auf die des Cronjob-Besitzers setzen. Sie können $header_from:
Ihre benutzerdefinierte Adresse durch eine andere ersetzen, wenn Sie sie in eine andere Form bringen möchten.
Eine andere einfache Alternative ist, Köter zu verwenden,
Erstellen Sie eine .muttrc-Datei im Home-Verzeichnis des Benutzers, der cron ausführt
set realname = "Joe User" set from = "user @ host" set use_from = yes
Führen Sie ein Skript mit dem Befehl mutt aus, oder leiten Sie den Befehl cron an mutt from weiter, um eine E-Mail zu senden.
Bevor mutt sendet und eine E-Mail versendet, wird der From-Header aus der .muttrc-Datei gesetzt.
es wird von der user @ domain gesendet - der user ist der login name, unter dem der cron läuft - also müsst ihr einen user 'me' erstellen - und den cron job als dieser user ausführen.
Um die Domain zu ändern, gibt es verschiedene Möglichkeiten - es kann sein, dass Sie den Hosts-Dateieintrag ändern müssen (oder, wie auf meinem Computer, als ich dies konfiguriert habe - eine Ubuntu-Box) -, ändern Sie / etc / mailname - um die Domain zu sein, von der sie kommen soll.