Jest to polecenie slocalmh, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
slocal — asynchroniczne filtrowanie i dostarczanie nowej poczty
STRESZCZENIE
/usr/lib/mh/slocal [-adres adres] [-informacje dane] [-nadawca nadawca] [-użytkownik nazwa użytkownika]
[-skrzynka pocztowa mbox] [-plik filet] [-dostarczanie poczty plik dostawy] [-gadatliwy | -przegadany]
[-powstrzymajpow | -Nosuppressup] [-odpluskwić] [-wersja] [-Pomoc]
OPIS
lokalny to program zaprojektowany w celu umożliwienia przetwarzania poczty przychodzącej zgodnie z
złożony zestaw kryteriów wyboru. Zwykle nie powołujesz się lokalny raczej siebie
lokalny jest wywoływany w twoim imieniu przez agenta przesyłania wiadomości twojego systemu (takiego jak
Wyślij maila), gdy wiadomość nadejdzie.
Kryteria wyboru wiadomości stosowane przez lokalny is określony w pliku ".dostarczanie poczty"W
katalog domowy użytkownika. Możesz określić alternatywny plik z rozszerzeniem -dostarczanie poczty filet
opcja. Składnia tego pliku jest określona poniżej.
Adres dostarczania wiadomości i nadawca wiadomości są określane na podstawie transferu wiadomości
Informacje o kopercie agenta, jeśli to możliwe. Pod Wyślij maila, nadawca otrzyma od
wiersz „Od:” UUCP, jeśli jest obecny. Użytkownik może nadpisać te wartości za pomocą -adres i
-nadawca przełączniki.
Wiadomość jest normalnie odczytywana ze standardowego wejścia. The -plik przełącznik ustawia nazwę
plik, z którego ma zostać odczytana wiadomość, zamiast czytać stdin. to jest przydatne
podczas debugowania „.dostarczanie poczty" plik.
Kurs -użytkownik przełącznik mówi lokalny nazwa użytkownika, dla którego dostarcza pocztę. The
-skrzynka pocztowa przełącznik mówi lokalny nazwa pliku zrzutu poczty użytkownika.
lokalny jest w stanie wykryć i ukryć zduplikowane wiadomości. Aby to włączyć, użyj opcji
-powstrzymajpow. lokalny będzie przechowywać bazę danych zawierającą identyfikatory wiadomości przychodzących
wiadomości w celu wykrycia duplikatów. W zależności od konfiguracji ta baza danych
będzie w formacie ndbm lub Berkeley db.
Kurs -informacje switch może być użyty do przekazania dowolnego argumentu do podprocesów które lokalny
może wystąpić w Twoim imieniu.
Kurs -gadatliwy przełącznik powoduje lokalny aby przekazać informacje na stdout o jego postępie. The
-odpluskwić switch generuje bardziej szczegółowe dane wyjściowe debugowania na stderr. Te flagi są przydatne
podczas tworzenia i debugowania „.dostarczanie poczty”, ponieważ pozwalają zobaczyć plik
decyzje i działania, które lokalny bierze, a także sprawdź błędy składniowe w swoim
".dostarczanie poczty" plik.
Twoja wiadomość przelew Agenci
Większość nowoczesnych MTA, w tym Wyślij maila, przyrostek i Exim obsługuje plik .forward dla
kierowanie poczty przychodzącej. Powinieneś dołączyć linię
“| /usr/lib/mh/slocal -user nazwa użytkownika”
w twoim pliku .forward w twoim katalogu domowym. Spowoduje to wywołanie MTA lokalny
w Twoim imieniu, gdy nadejdzie wiadomość.
Kurs Dostarczanie poczty filet
".dostarczanie poczty” kontroluje sposób lokalny filtruje i dostarcza pocztę przychodzącą. Każdy
linia tego pliku składa się z pięciu pól oddzielonych spacją lub przecinkiem. Od
podwójne cudzysłowy są honorowane, te znaki mogą być zawarte w pojedynczym argumencie przez
ujęcie całego argumentu w cudzysłowy. Podwójny cudzysłów może być zawarty przez
poprzedzając go ukośnikiem odwrotnym. Linie zaczynające się od `#' i puste linie są ignorowane.
Format każdego wiersza w „.dostarczanie poczty” plik to:
nagłówek wzorzec akcja dalsze ciąg
nagłówek:
Nazwa pola nagłówka (takiego jak Do, DW lub Od), które ma być wyszukiwane
wzór. Jest to dowolne pole w nagłówkach wiadomości, które może być obecne.
Zdefiniowane są również następujące pola specjalne:
źródło informacje o nadawcy spoza pasma
Addr adres, który posłużył do spowodowania doręczenia do odbiorcy
domyślnym to pasuje tylko jeśli wiadomość nie została jeszcze dostarczona
* to zawsze pasuje
wzorzec:
Sekwencja znaków do dopasowania w określonym polu nagłówka. Dopasowanie jest wielkością liter
niewrażliwy, ale nie używa wyrażeń regularnych.
akcja:
Akcja, którą należy wykonać, aby dostarczyć wiadomość. Gdy wiadomość zostanie dostarczona, a
Dodano nagłówek „Delivery-Date: date”, który wskazuje datę i godzinę wysłania wiadomości
została dostarczona.
zniszczyć
Ta akcja zawsze się udaje.
filet, mboxlub >
Dołącz wiadomość do pliku o nazwie by ciąg. Wiadomość jest dołączona do
plik w formacie mbox (uucp). Jest to format używany przez większość innych klientów poczty
(takich jak mailx, wiąz). Jeśli wiadomość może zostać dołączona do pliku, to this
akcja się udaje.
mmdf
Identyczny z filet, ale zawsze dołącza wiadomość w formacie skrzynki pocztowej MMDF.
rura or |
Prześlij komunikat jako standardowe wejście do polecenia o nazwie by ciągStosując
Muszla Bourne'a sh interpretować ciąg. Przed przekazaniem sznurka do
shell, jest rozszerzany o następujące wbudowane zmienne:
$(sender) informacje o nadawcy poza pasmem
$(adres) adres, który został użyty do spowodowania dostarczenia do odbiorcy
$(rozmiar) rozmiar wiadomości w bajtach
$(reply-to) pole „Reply-To:” lub „From:” wiadomości
$(info) określone informacje poza pasmem
qpipe or ^
Podobny do rura, ale wykonuje polecenie bezpośrednio, po wbudowanej zmiennej
rozszerzenie, bez pomocy powłoki. Ta akcja może być wykorzystana do unikania
cytowanie znaków specjalnych, które może zinterpretować twoja powłoka.
falcówka or +
Zapisz wiadomość w nmh folder o nazwie wg ciąg. Obecnie jest to obsługiwane
przesyłając wiadomość do nmh program sklep rcv, choć może się to zmienić
przyszłość.
dalsze:
Wskazuje, w jaki sposób należy wykonać czynność:
A Wykonaj czynność. Jeśli akcja się powiedzie, wiadomość jest rozpatrywana
dostarczone.
R Wykonaj czynność. Niezależnie od wyniku akcji, wiadomość nie jest
uważane za dostarczone.
? Wykonaj akcję tylko wtedy, gdy wiadomość nie została dostarczona. Jeśli akcja
się powiedzie, wiadomość uważa się za dostarczoną.
N Wykonaj akcję tylko wtedy, gdy wiadomość nie została dostarczona, a poprzednia
akcja się powiodła. Jeśli ta akcja się powiedzie, wiadomość jest rozpatrywana
dostarczone.
Plik dostawy jest zawsze odczytywany w całości, dzięki czemu można dokonać kilku dopasowań i
można wykonać kilka działań.
Bezpieczeństwo of Dostawa Akta
Aby zapobiec problemom z bezpieczeństwem, „.dostarczanie poczty” musi należeć do
użytkownika lub roota i może być zapisywany tylko przez właściciela. Jeśli tak nie jest, ww
plik nie jest czytany.
Jeśli ".dostarczanie poczty” nie można znaleźć pliku lub nie wykonuje akcji, która dostarcza
wtedy wiadomość lokalny sprawdzi globalny plik dostawy pod adresem /etc/nmh/maildelivery.
Ten plik jest odczytywany według tych samych zasad. Ten plik musi należeć do użytkownika root i musi
mieć możliwość zapisu tylko przez roota.
Jeśli nie można znaleźć globalnego pliku dostarczania lub nie wykonuje on działania, które dostarcza plik
wiadomości, następuje standardowe dostarczenie na skrzynkę pocztową użytkownika.
Przykład Dostawa filet
Podsumowując, oto przykładowy plik dostawy:
#
# .maildelivery plik dla slocal nmh
#
# Puste linie i linie zaczynające się od '#' są ignorowane
#
# ŁAŃCUCH WYNIKÓW DZIAŁANIA WZORCA POLA
#
# Wpisz wiadomość z foobar w wierszu „Do:” do pliku foobar.log
Do pliku foobar Plik foobar.log
# Potokuj komunikaty z Colemana do archiwum komunikatów programu
Z potoku Coleman A /bin/message-archive
# Dodawane jest wszystko do listy mailingowej „nmh-workers”.
# własny folder, jeśli nie został jeszcze złożony
Do folderu nmh-workers? pracownicy nmh
# Wszystko, co zawiera Unix w temacie, jest umieszczane w
# plik unix-mail
Temat unix plik Unix-mail
# Nie chcę czytać poczty od Steve'a, więc ją zniszcz
Od Steve'a Zniszcz A -
# Umieść wszystko, co nie zostało jeszcze dopasowane do skrzynki pocztowej
domyślnie - plik ? skrzynka pocztowa
# zawsze uruchamiaj rcvtty
* - potok R /usr/lib/mh/rcvtty
Podproces środowisko
Gdy proces jest wywoływany, jego środowisko jest następujące: identyfikatory użytkownika/grupy są ustawione na odbiorcę
identyfikatory; katalog roboczy to katalog domowy odbiorcy; umask to 0077; the
proces nie ma /dev/tty; standardowe wejście jest ustawione na komunikat; standardowe wyjście i
wyjście diagnostyczne jest ustawione na /dev/null; wszystkie inne deskryptory plików są zamknięte; the
zmienne środowiskowe $ USER, $ HOME, $POWŁOKA są odpowiednio ustawione i żadne inne środowisko
istnieją zmienne.
Proces ma określoną ilość czasu na wykonanie. Jeśli proces nie zostanie zakończony
w ramach tego limitu proces zostanie zakończony ze skrajnym uszczerbkiem. Ilość
czas jest obliczany jako ((rozmiar / 60) + 300) sekund, gdzie rozmiar to liczba bajtów w
wiadomość (z maksymalnym dozwolonym czasem 30 minut).
Status wyjścia z procesu jest konsultowany przy określaniu powodzenia akcji. Jakiś
status wyjścia równy zero oznacza, że akcja się powiodła. Każdy inny status wyjścia (lub nieprawidłowy
zakończenie) oznacza, że działanie nie powiodło się.
Aby uniknąć ograniczeń czasowych, możesz wdrożyć proces, który rozpoczął się od
widelec()-ing. Rodzic zwróciłby natychmiast odpowiednią wartość, a dziecko
mógł kontynuować, robiąc, co chciał, tak długo, jak chciał. To podejście jest
nieco ryzykowne, jeśli rodzic zwróci status wyjścia równy zero. Jeśli rodzic jest
zwróci niezerowy status wyjścia, to takie podejście może prowadzić do szybszej dostawy
do Twojej skrzynki pocztowej.
Korzystaj z slocalmh online, korzystając z usług onworks.net