Używam zdalnego SMTP przez nullmailer i wymaga on ustawienia pola From na określoną nazwę, ale cron ustawia go jako root@my.sweet.server.com.
Jak mogę to zmienić na coś takiego jak ja@ya.ru?
Używam zdalnego SMTP przez nullmailer i wymaga on ustawienia pola From na określoną nazwę, ale cron ustawia go jako root@my.sweet.server.com.
Jak mogę to zmienić na coś takiego jak ja@ya.ru?
Odpowiedzi:
Nie sądzę, że możesz zmienić adres FROM (ktoś powinien dodać opcję MAILFROM).
Możesz zrobić coś takiego, aby osiągnąć podobny wynik:
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" toaddress@example.com -- -r "fromaddress@example.com" -F"Full Name of sender"
Wszystkie dane wyjściowe są przesyłane do komendy mail, więc zmienna MAILTO w ogóle nie jest używana.
Adres musi być ustawiony, ale możesz użyć zmiennej $ MAILTO. Opcja - ustawia pozostałe opcje jako opcje sendmaila, dzięki czemu można używać opcji -r i -F.
-s jest przedmiotem
-r to adres zwrotny
-F to pełna nazwa nadawcy (sprawia, że ładnie wygląda w klientach e-mail)
Nowoczesne wersje crona akceptują „MAILFROM = ...” w formacie crontab. Proponuję spróbować „man 5 crontab”. Jeśli wspomina o MAILFROM, Twoja wersja powinna go obsługiwać. Wyrażenie, którego należy szukać, znajduje się pod koniec akapitu omawiającego MAILTO i powinno być mniej więcej takie:
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
MAILFROM
w man 5 crontab
.
cronie
aby zastąpić cron
na Debian / Ubuntu. Ta-daa: MAILFROM
istnieje:
/ etc / mailname zawiera część nazwy domeny adresu FROM. Jeśli / etc / mailname zawiera „somecompany.com”, to cron działający dla roota miałby nadawcę jako root@somecompany.com
Możesz ustawić nullmailer z adresu poprzez zmienne środowiskowe lub wiersz poleceń. Argumenty wiersza poleceń są -f
i -F
dla adresu nadawcy i pełnej nazwy, odpowiednio.
Zwykle możesz ustawić zmienne środowiskowe w crontab.
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
Dla mnie najłatwiejszym sposobem na zmianę adresu z w systemie jest utworzenie ~/.mailrc
pliku o takiej zawartości:
set name="My Full Name"
set from="myrealemail@example.com"
Wszelkie mail
polecenia uruchamiane jako mój użytkownik używają teraz tych ustawień.
Zobacz to pytanie, jeśli używasz Exim:
exim: Przepisz nagłówek „From” do koperty „FROM”
Powinien ustawić adres „Od” na właściciela kroniki. Możesz zastąpić $header_from:
swój niestandardowy adres, jeśli chcesz na stałe zakodować go w innym celu.
Inną prostą alternatywą jest użycie mutta,
utwórz .muttrc w katalogu osobistym użytkownika, który uruchamia cron z następującymi elementami
set realname = „Joe User” set from = „user @ host” set use_from = yes
Uruchom skrypt z komendą mutt lub potokuj komendę cron, z której mutt wysyła wiadomość e-mail.
Zanim mutt wyśle i wyśle e-mail, ustawi nagłówek From z pliku .muttrc.
jest wysyłany pocztą od użytkownika @ domena - użytkownik to nazwa logowania, pod którą działa cron - więc musisz utworzyć użytkownika „ja” - i uruchomić zadanie cron jako ten użytkownik.
Następnie, aby zmienić domenę, istnieją różne możliwości - być może trzeba zmienić wpis pliku hosta (lub, tak jak na moim komputerze, kiedy to konfigurowałem - pole ubuntu) - zmień / etc / mailname - być domeną, z której chcesz, aby pochodziła.