Su sistemi operativi simili a Unix, sendmail è una funzione di routing della posta elettronica per scopi generici che supporta molti tipi di metodi di trasferimento e consegna della posta, incluso il protocollo SMTP (Simple Mail Transfer Protocol) utilizzato per il trasporto di posta elettronica su Internet.
Descrizione
sendmail invia un messaggio a uno o più destinatari, instradando il messaggio su qualunque rete sia necessaria. sendmail esegue l'inoltro internetwork come necessario per recapitare il messaggio nella posizione corretta.
sendmail non è inteso come una routine dell'interfaccia utente; altri programmi forniscono front-end intuitivi. sendmail viene utilizzato solo per recapitare messaggi preformattati.
Senza flag specificati, sendmail legge il suo input standard fino a un end-of-file o una riga composta da un solo punto e invia una copia del messaggio trovato lì a tutti gli indirizzi elencati. Determina le reti da utilizzare in base alla sintassi e al contenuto degli indirizzi.
Gli indirizzi locali vengono cercati in un file e opportunamente modificati. L'aliasing può essere prevenuto precedendo l'indirizzo con una barra rovesciata. A partire dalla versione 8.10, il mittente è incluso in eventuali espansioni di alias; ad esempio, se "john" invia la posta a "gruppo" e "gruppo" include "john" nell'espansione, la lettera verrà recapitata anche a "john".
Sintassi
sendmail [flags] [indirizzo ...]
Sintassi alternativa
sendmail può anche essere invocato, con funzionalità speciali, usando i seguenti comandi.
newaliases
mailq [-v]
hoststat
purgestat
smtpd
Vedi sotto per maggiori informazioni.
parametri
-Corrente alternata | Utilizzare submit.cf anche se la modalità operativa non indica un invio iniziale di posta. |
-am | Utilizzare sendmail.cf anche se la modalità operativa indica un invio iniziale di posta. |
-Btype | Imposta il tipo di corpo da digitare. I valori legali correnti sono 7BIT o 8BITMIME. |
-ba | Entra in modalità ARPANET. Tutte le righe di input devono terminare con un CR-LF e tutti i messaggi verranno generati con un CR-LF alla fine. Inoltre, i campi "Da:" e "Mittente:" vengono esaminati per il nome del mittente. |
-bd | Esegui come demone. sendmail eseguirà il fork e verrà eseguito in background in ascolto sul socket 25 per le connessioni SMTP in entrata. Questo è normalmente eseguito da / etc / rc. |
-bd | Come -bd, tranne per il fatto che viene eseguito in primo piano. |
-bH | Stampa il database di stato dell'host persistente. |
-bH | Elimina le voci scadute dal database di stato host persistente. |
-bi | Inizializza il database alias. |
-BM | Recapita la posta come di consueto (impostazione predefinita). |
-bp | Stampa un elenco delle code. |
-bP | Stampa il numero di voci nelle code; disponibile solo con supporto di memoria condivisa. |
-bs | Utilizzare il protocollo SMTP come descritto in RFC 821 su input e output standard. Questo flag implica tutte le operazioni del flag -ba che sono compatibili con SMTP. |
-BT | Esegui in modalità test indirizzo. Questa modalità legge gli indirizzi e mostra i passaggi dell'analisi; viene utilizzato per il debug delle tabelle di configurazione. |
-bV | Verifica solo nomi; non tentare di raccogliere o recapitare un messaggio. La modalità di verifica viene normalmente utilizzata per la convalida di utenti o mailing list. |
-Cfile | Usa un file di configurazione alternativo. sendmail rinuncia a qualsiasi privilegio avanzato (set-user-ID o set-group-ID) se viene specificato un file di configurazione alternativo. |
MrGreen file di log | Invia l'output di debug al file di registro indicato invece di stdout. |
-dcategory.level ... | Impostare il flag di debug per la categoria al livello. La categoria è un numero intero o un nome che specifica l'argomento e livella un numero intero che specifica il livello dell'output di debug desiderato. Livelli più alti generalmente significano più output. È possibile specificare più di un flag separandoli con virgole. Un elenco di categorie numeriche di debug è disponibile nel file TRACEFLAGS nella distribuzione di origine sendmail. L'opzione -d0.1 stampa la versione di sendmail e le opzioni utilizzate durante la compilazione. La maggior parte delle altre categorie sono utili solo e documentate nel codice sorgente di sendmail. |
-Ffullname | Imposta il nome completo del mittente. |
-fname | Imposta il nome della persona "da" (ovvero il mittente della busta della posta). Questo indirizzo può essere utilizzato anche nell'intestazione "Da:" se tale intestazione è mancante durante l'invio iniziale. L'indirizzo del mittente della busta viene utilizzato come destinatario per le notifiche sullo stato della consegna e può anche apparire in un'intestazione "Percorso di ritorno:". -f dovrebbe essere usato solo da utenti "fidati" (normalmente root, demone e rete) o se la persona che stai cercando di diventare è la stessa persona che sei. Altrimenti, al messaggio verrà aggiunta un'intestazione "X-Authentication-Warning". |
-G | Invio inoltro (gateway) di un messaggio, ad es. Quando rmail chiama sendmail. |
-HN | Impostare il conteggio hop su N. Il conteggio hop viene incrementato ogni volta che la posta viene elaborata. Quando raggiunge un limite, la posta viene restituita con un messaggio di errore, molto probabilmente vittima di un ciclo di aliasing. Se non specificato, vengono conteggiate le righe "Ricevute:" nel messaggio. |
-i | Ignora i punti da soli sulle linee da soli nei messaggi in arrivo. Questo dovrebbe essere impostato se stai leggendo dati da un file. |
-L tag | Impostare l'identificatore utilizzato nei messaggi syslog sul tag fornito. |
-N dsn | Impostare le condizioni di notifica dello stato di consegna su dsn, che può essere "mai" per nessuna notifica, oppure un elenco separato da virgole dei valori "mancata" da notificare in caso di mancata consegna, "ritardo" da notificare in caso di ritardo nella consegna e "esito positivo "essere avvisato quando il messaggio viene recapitato correttamente. |
-n | Non fare aliasing. |
-O opzione = valore | Impostare l'opzione opzione sul valore specificato. Questo modulo utilizza nomi lunghi. Vedi sotto per ulteriori dettagli. |
valore -ox | Impostare l'opzione x sul valore specificato. Questo modulo utilizza solo nomi di singoli caratteri. |
-pprotocol | Imposta il nome del protocollo utilizzato per ricevere il messaggio. Può essere un nome di protocollo semplice come "UUCP" o un protocollo e un nome host, come "UUCP: ucbvax". |
-q [ora] | Elabora i messaggi salvati nella coda a determinati intervalli. Se il tempo viene omesso, elaborare la coda una volta. Il tempo è indicato come un numero con tag, con "s" come secondi, "m" è minuti (impostazione predefinita), "h" è ore, "d" è giorni e "w" sono settimane. Ad esempio, "-q1h30m" o "-q90m" imposteranno entrambi il timeout su un'ora e trenta minuti. Per impostazione predefinita, sendmail verrà eseguito in background. Questa opzione può essere usata in sicurezza con -bd. |
-qp [ora] | Simile a -qtime, tranne per il fatto che invece di eseguire periodicamente il fork di un bambino per elaborare la coda, sendmail esegue il fork di un singolo figlio persistente per ogni coda che si alterna tra l'elaborazione della coda e la sospensione. Il tempo di sonno è dato come argomento; il valore predefinito è 1 secondo. Il processo si spegnerà sempre almeno 5 secondi se la coda era vuota nella precedente esecuzione della coda. |
-qf | Elabora i messaggi salvati nella coda una volta e non si biforca, ma viene eseguito in primo piano. |
-qGname | Elaborare i lavori nel gruppo di code chiamato solo nome. |
q [!] Isubstr | Limitare i lavori elaborati a quelli che contengono substr come sottostringa dell'ID coda o no quando! è specificato. |
q [!] Qsubstr | Limitare i lavori elaborati ai lavori in quarantena contenenti substr come sottostringa del motivo della quarantena o meno quando! è specificato. |
q [!] Rsubstr | Limitare i lavori elaborati a quelli contenenti substr come sottostringa di uno dei destinatari o meno quando! è specificato. |
q [!] Ssubstr | Limitare i lavori elaborati a quelli contenenti substr come sottostringa del mittente o meno quando! è specificato. |
-Q [ragione] | Metti in quarantena gli elementi di una coda normale con il motivo specificato o gli elementi di coda in quarantena non quarantena se non viene fornito alcun motivo. Questo dovrebbe essere usato solo con una sorta di corrispondenza degli oggetti usando come descritto sopra. |
-R ritorno | Imposta la quantità del messaggio da restituire se il messaggio rimbalza. Il parametro return può essere "full" per restituire l'intero messaggio o "hdrs" per restituire solo le intestazioni. In quest'ultimo caso, i rimbalzi locali restituiscono solo le intestazioni. |
-rname | Una forma alternativa e obsoleta della bandiera -f. |
-t | Leggi il messaggio per i destinatari. A :, Cc :, e Ccn: le linee verranno scansionate per gli indirizzi dei destinatari. Ccn: la riga verrà eliminata prima della trasmissione. |
-V invidiato | Imposta l'ID busta originale. Questo viene propagato attraverso SMTP ai server che supportano i DSN e viene restituito in messaggi di errore conformi a DSN. |
-v | Entra in modalità dettagliata. Le espansioni di alias verranno annunciate, ecc. |
-X file di log | Accedi a tutto il traffico in entrata e in uscita dai mailer nel file di registro indicato. Questo dovrebbe essere usato solo come ultima risorsa per il debug dei bug del mailer. Registrerà molti dati molto rapidamente. |
-- | Interrompere l'elaborazione dei flag di comando e utilizzare il resto degli argomenti come indirizzi. |
Opzioni
Ci sono anche molte opzioni di elaborazione che possono essere impostate. Normalmente questi saranno usati solo da un amministratore di sistema. Le opzioni possono essere impostate sulla riga di comando usando il flag -o (per nomi abbreviati), il flag -O (per nomi lunghi) o nel file di configurazione. Questo è un elenco parziale limitato a quelle opzioni che potrebbero essere utili sulla riga di comando e mostra solo i nomi lunghi. Le opzioni sono:
FileAlias = File | Usa file alias alternativo. |
HoldExpensive | Sui mailer considerati "costosi" a cui connettersi, non avviare una connessione immediata. Questo richiede l'accodamento. |
CheckpointInterval = N | Controllare il file della coda dopo ogni N consegne riuscite (valore predefinito 10). Ciò evita consegne eccessive duplicate durante l'invio a lunghe mailing list interrotte da arresti anomali del sistema. |
DeliveryMode = x | Impostare la modalità di consegna su x. Le modalità di consegna sono "i" per la consegna interattiva (sincrona), "b" per la consegna in background (asincrona), "q" solo per la coda; vale a dire, la consegna effettiva viene eseguita alla successiva esecuzione della coda e "d" per differito: lo stesso di "q" tranne che le ricerche nel database per le mappe che hanno impostato l'opzione -D (impostazione predefinita per la mappa host) vengono evitate. |
ErrorMode = x | Impostare l'elaborazione degli errori in modalità x. Le modalità valide sono "m" per rispedire il messaggio di errore, "w" per "riscrivere" il messaggio di errore (o rispedirlo se il mittente non ha effettuato l'accesso), "p" per stampare gli errori sul terminale (impostazione predefinita ), "q" per eliminare i messaggi di errore (viene restituito solo lo stato di uscita) ed "e" per eseguire un'elaborazione speciale per BerkNet. Se il testo del messaggio non viene rispedito per posta dalle modalità "m" o "w" e se il mittente è locale su questa macchina, una copia del messaggio viene aggiunta al file dead.letter nella home directory del mittente. |
SaveFromLine | Salva in stile Unix Dalle righe nella parte anteriore dei messaggi. |
MaxHopCount = N | Il numero massimo di volte in cui un messaggio può "saltare" prima di decidere che è in un ciclo. |
IgnoreDots | Non prendere punti su una linea da soli come terminatore di messaggi. |
SendMimeErrors | Invia messaggi di errore in formato MIME. Se non impostato, l'estensione SMTP DSN (Notifica stato consegna) è disabilitata. |
ConnectionCacheTimeout = timeout | Imposta il timeout della cache di connessione. |
ConnectionCacheSize = N | Imposta la dimensione della cache di connessione. |
Loglevel = n | Il livello di registro. |
MeToo = false | Non inviare a "me" (il mittente) se sono in un'espansione alias. |
CheckAliases | Convalida il lato destro degli alias durante un comando newaliases. |
OldStyleHeaders | Se impostato, questo messaggio potrebbe avere intestazioni di vecchio stile. Se non impostato, questo messaggio avrà nuove intestazioni di stile (ovvero virgole anziché spazi tra gli indirizzi). Se impostato, viene utilizzato un algoritmo adattivo che determinerà correttamente il formato dell'intestazione nella maggior parte dei casi. |
QueueDirectory = queuedir | Seleziona la directory in cui mettere in coda i messaggi. |
StatusFile = File | Salva le statistiche nel file indicato. |
Timeout.queuereturn = tempo | Impostare il timeout sui messaggi non consegnati nella coda sull'ora specificata. Dopo che la consegna non è riuscita (ad es. A causa di un host inattivo) per questo periodo di tempo, i messaggi non riusciti verranno restituiti al mittente. L'impostazione predefinita è cinque giorni. |
UserDatabaseSpec = userDatabase | Se impostato, viene consultato un database utente per ottenere informazioni di inoltro. È possibile considerarlo un'aggiunta al meccanismo di aliasing, tranne per il fatto che il database è destinato alla distribuzione; gli alias sono locali per un determinato host. Questo potrebbe non essere disponibile se sendmail non ha l'opzione USERDB compilata. |
ForkEachJob | Effettuare il fork di ogni lavoro durante le corse in coda. Può essere utile su macchine con poca memoria. |
SevenBitInput | Spoglia i messaggi in arrivo a sette bit. |
EightBitMode = modalità | Impostare la gestione dell'input a otto bit su destinazioni a sette bit in modalità: m (mimefy) verrà convertito in formato MIME a sette bit, p (pass) lo passerà come otto bit (ma viola i protocolli) e s (rigoroso) rimbalzerà il messaggio. |
MinQueueAge = timeout | Imposta per quanto tempo un lavoro deve fermentare nella coda tra i tentativi di invio. |
DefaultCharSet = charset | Imposta il set di caratteri predefinito utilizzato per etichettare i dati a 8 bit che non sarebbero altrimenti etichettati. |
DialDelay = SleepTime | Se l'apertura di una connessione non riesce, sospendi il sonno per alcuni secondi e riprova. Utile sui siti dial-on-demand. |
NoRecipientAction = azione | Imposta il comportamento quando non ci sono intestazioni di destinatari (A :, Cc: o Ccn 🙂 nel messaggio all'azione: nessuno lascia invariato il messaggio, il componente aggiuntivo aggiunge un'intestazione A: con i destinatari della busta, aggiungi-apparentemente-a aggiunge un'intestazione apparentemente-A: con i destinatari della busta, add-bcc aggiunge un'intestazione Bcc: vuota e l'aggiunta-a-non divulgata aggiunge un'intestazione che legge `A: destinatari non divulgati :; '. |
MaxDaemonChildren = N | Imposta il numero massimo di figli che un demone SMTP in arrivo consentirà di generare in qualsiasi momento su N. |
ConnectionRateThrottle = N | Imposta il numero massimo di connessioni al secondo alla porta SMTP su N. |
Negli alias, il primo carattere di un nome può essere una barra verticale ("|") per causare l'interpretazione del resto del nome come comando per reindirizzare la posta. Potrebbe essere necessario citare il nome per impedire a sendmail di sopprimere gli spazi vuoti tra gli argomenti. Ad esempio, un alias comune è:
msg: "| / usr / bin / msgs -s"
Gli alias possono anche avere la sintassi ": include: nomefile" per chiedere a sendmail di leggere il file indicato per un elenco di destinatari. Ad esempio, un alias come:
poeti: ": include: /usr/local/lib/poets.list"
leggerebbe /usr/local/lib/poets.list per l'elenco di indirizzi che compongono il gruppo.
Stato di uscita
Sendmail restituisce uno stato di uscita che descrive ciò che ha fatto. I codici di uscita sono elencati di seguito e definiti in <sysexits.h>.
EX_OK | Completamento riuscito su tutti gli indirizzi. |
EX_NOUSER | Nome utente non riconosciuto. |
EX_UNAVAILABLE | Catchall significa che le risorse necessarie non erano disponibili. |
EX_SYNTAX | Errore di sintassi nell'indirizzo. |
EX_SOFTWARE | Errore interno del software, inclusi argomenti non validi. |
EX_OSERR | Errore temporaneo del sistema operativo, ad esempio "impossibile fork". |
EX_NOHOST | Nome host non riconosciuto. |
EX_TEMPFAIL | Il messaggio non può essere inviato immediatamente, ma è stato messo in coda. |
Invocazioni alternative
Se invocato come newalias, sendmail ricostruirà il database alias.
Se invocato come mailq, sendmail stamperà il contenuto della coda di posta.
Se invocato come hoststat, sendmail stamperà il database di stato host persistente.
Se invocato come purgestat, sendmail eliminerà le voci scadute dal database di stato host persistente.
Se invocato come smtpd, sendmail fungerà da demone, come se fosse specificata l'opzione -bd.
File
Ad eccezione del file /etc/mail/sendmail.cf stesso, i seguenti percorsi sono tutti specificati in /etc/mail/sendmail.cf. Pertanto, questi valori dovrebbero essere considerati solo approssimazioni.
/ etc / mail / aliases | dati non elaborati per nomi di alias |
/etc/mail/aliases.db | database di nomi alias |
/etc/mail/sendmail.cf | file di configurazione |
/ Etc / mail / fileguida | file di aiuto |
/ etc / mail / statistiche | statistiche raccolte |
/ Var / spool / mqueue / * | file temporanei |
Esempi
sendmail [e-mail protetta]
sendmail leggerà l'e-mail dall'input standard e tenterà di inviare l'e-mail quando si inserisce un singolo punto (".") su una nuova riga e si preme Invio. Ad esempio, dopo aver eseguito il comando precedente, è possibile digitare:
Da: [e-mail protetta] A: [e-mail protetta] Ciao, questo è il mio messaggio e te lo sto inviando! .
e sendmail tenterà di inviarlo.
Comandi correlati
biff - Ricevi notifiche dettagliate di posta elettronica dalla riga di comando.mail - Leggi, componi e gestisci mail.mailx - Elabora messaggi di posta.newalias - Installa new elm aliases.pine - Un client per l'utilizzo di posta e newsgroup.
#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}
var gt_not_translated_list = ["mailq [-v]","hoststat","purgestat","smtpd","-Btype","-ba","-bd","-bH","-bi","-bp","-bP","-bs","-Cfile","-Ffullname","-fname","-L tag","-N dsn","-pprotocol","-qf","-qGname","-rname","HoldExpensive","SaveFromLine","IgnoreDots","SendMimeErrors","CheckAliases","OldStyleHeaders","ForkEachJob","SevenBitInput","EX_OK","EX_NOUSER","EX_UNAVAILABLE","EX_SYNTAX","EX_SOFTWARE","EX_OSERR","EX_NOHOST","EX_TEMPFAIL","/etc/mail/aliases.db","/etc/mail/sendmail.cf"];
document.cookie = "googtrans=/en/it; domain=.balogs.xyz";
document.cookie = "googtrans=/en/it";
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'en',layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, 'gtranslate_element');}