Linux posta command è un'utilità della riga di comando che ci consente di inviare e-mail dalla riga di comando. Sarà molto utile inviare e-mail dalla riga di comando se vogliamo generare e-mail a livello di codice da script di shell o applicazioni web. Il comando mail può essere utilizzato direttamente dal terminale così come dallo script Shell. Tuttavia, in Linux sono disponibili molti altri comandi che possono essere utilizzati per inviare e-mail dalla riga di comando come sendmail, mutt, SSMTP, telnet e altro ancora. In questa sezione ci concentreremo sul comando mail.
Installazione del comando mail in Linux
Il comando mail può essere installato da vari pacchetti come:
- GNU Mailutils
- cimelio-mailx
- bsd-mailx
Ogni pacchetto facilita con diverse funzionalità e opzioni. Ad esempio, il matrice-cimelio il pacchetto è in grado di utilizzare un server SMTP esterno per l'invio di messaggi, mentre gli altri due server utilizzano il server SMTP locale.
Installeremo il pacchetto mailutils, il modo più popolare per inviare e-mail dalla riga di comando. Supporta il comando mail per inviare e-mail.
Per installare il pacchetto mailutils, esegui il comando seguente:
sudo apt install mailutils
Il comando precedente richiederà una password di sistema, digitare la password e premere ACCEDERE chiave. Verificherà l'installazione, digitare 'E' per confermare l'installazione. Considera lo snap dell'output seguente:
Verrà avviato un processo daemon e verrà richiesta la configurazione del suffisso, selezionare l'opzione del suffisso desiderata.
Sono disponibili quattro opzioni suffisso per l'installazione. Sono i seguenti:
Per selezionare l'opzione desiderata, scorrere l'opzione utilizzando FRECCIA e selezionarlo utilizzando TAB+INVIO chiavi. Postfix interagisce con il server per elaborare le richieste. Dopo aver selezionato l'opzione suffisso, installerà correttamente il pacchetto mailutils sul tuo computer.
Come funziona il comando mail?
È importante sapere come funziona il comando. Il comando mail del pacchetto mailutils richiama il binario standard sendmail per inviare la posta a una destinazione specifica. Si connette all'MTA locale, che è un server SMTP locale in esecuzione che supporta la posta sulla porta 25.
Ciò significa che sulla nostra macchina dovrebbe essere in esecuzione un suffisso che contiene un server smtp per utilizzare il comando mail. Il suffisso chiede al DNS la destinazione dove consegnare la posta, il DNS risponde ad un elenco di server di posta e crea una connessione SMTP. Se manca, riceveremo il messaggio di errore come ' send-mail: Impossibile aprire la posta:25 '.
Invia posta utilizzando il comando mail
L'invio di e-mail dalla riga di comando è un processo semplice. Per inviare una mail dal terminale, eseguire il comando come segue:
mail -s 'Subject'
L'opzione '-s' viene utilizzata per specificare l'oggetto. Dopo aver eseguito il comando, verrà richiesto l'indirizzo Cc. Digitare l'indirizzo Cc (copia carbone); puoi lasciarlo vuoto premendo il tasto Invio. Digita il testo e premi i tasti CTRL+D per inviarlo. Considera l'output seguente:
Dall'output sopra, la posta verrà inviata a un indirizzo di posta specificato.
espressioni java lambda
Specificare il corpo dell'e-mail in un'unica riga
Possiamo specificare l'oggetto e il messaggio in un'unica riga. Per specificare il corpo del messaggio in una singola riga, eseguire il comando seguente:
mail -s 'subject' <<< 'Message'
Il comando precedente invierà la posta all'indirizzo specificato. Considera il comando seguente:
Oppure possiamo anche specificare il comando come segue:
echo 'Message body' | mail -s 'Subject' aFrom:Dwivedi [email protected]
Recupera il messaggio da un file
Possiamo anche recuperare i messaggi da un file. È utile se vogliamo chiamare il comando mail da uno script di shell o da altri programmi. Per inviare un messaggio da un file, eseguire il comando come segue:
mail -s 'Hello World' [email protected] <p>The above command will send the message from the file mailcontent.txt. For quick, we can also use the below command:</p> <pre> $ echo 'Message body' | mail -s 'Subject' </pre> <h3>Specify CC and BCC</h3> <p>We can also attach a bcc and cc address within a command. To attach a bcc and cc address, use the -b and -c options, respectively.</p> <p>To add a bcc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto </pre> <p>To add a cc address, execute the command as follows:</p> <pre> mail -s 'Hello World' -c userto </pre> <p>Also, we can specify both cc and bcc addresses in a single command. Execute the command as follows:</p> <pre> mail -s 'Hello World' -b userto -c userto </pre> <h3>Adding multiple recipients</h3> <p>The mail command allows us to add more than one recipient in a single mail other than cc and bcc. To add more than one mail address, just put the other mail addresses after the first mail address followed by a comma(,). Consider the below command:</p> <pre> mail -s 'Hello World' , </pre> <p>The above command will deliver the message to both addresses.</p> <h3>Specify the sender name and address</h3> <p>We can add the additional header information such as 'FROM' name and address to attach with the email. To specify the additional information with the mail command, use the -a option with the command. Execute the command as follows:</p> <pre> $ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address </pre> <p>The above command will deliver the specified information to the receiver.</p> <h3>Adding an attachment</h3> <p>We can also attach a file with the mail. The -a option is used to attach a file along with the mail. To add an attachment, execute the command as follows:</p> <pre> echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file </pre> <p>The above command will attach a specified file from the specified path with mail.</p> <h2>Read mails</h2> <p>The mail command can be used to read all your incoming mails. However, it is not cool to read mails from the command line, but we can understand it for the shake of knowledge. To read the inbox mails, execute the mail command without any option as follows:</p> <pre> mail </pre> <p>The above command will display all incoming mails.</p> <h2>Manual for the mail command</h2> <p>To read the manual for the mail command, execute the man command as follows:</p> <pre> man mail </pre> <p>The above command will display the manual of the mail command on your terminal. Consider the below output:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-6.webp" alt="Linux mail Command"> <p>Press the 'q' key to exit from the manual and 'h' key for help. The help option lists more options to assist you. Consider the below image:</p> <img src="//techcodeview.com/img/linux-tutorial/07/linux-mail-command-7.webp" alt="Linux mail Command"> <p>To exit from the help, press the 'q' key.</p> <hr>
Specificare CC e BCC
Possiamo anche allegare un indirizzo bcc e cc all'interno di un comando. Per allegare un indirizzo Ccn e Cc, utilizzare rispettivamente le opzioni -b e -c.
Per aggiungere un indirizzo Ccn, eseguire il comando come segue:
mail -s 'Hello World' -b userto
Per aggiungere un indirizzo cc, eseguire il comando come segue:
mail -s 'Hello World' -c userto
Inoltre, possiamo specificare sia gli indirizzi cc che quelli bcc in un unico comando. Esegui il comando come segue:
mail -s 'Hello World' -b userto -c userto
Aggiunta di più destinatari
Il comando mail ci permette di aggiungere più di un destinatario in un'unica mail diversa da cc e bcc. Per aggiungere più di un indirizzo e-mail, inserisci semplicemente gli altri indirizzi e-mail dopo il primo indirizzo e-mail seguito da una virgola (,). Considera il comando seguente:
mail -s 'Hello World' ,
Il comando precedente consegnerà il messaggio a entrambi gli indirizzi.
Specificare il nome e l'indirizzo del mittente
Possiamo aggiungere ulteriori informazioni di intestazione come il nome e l'indirizzo 'FROM' da allegare all'e-mail. Per specificare le informazioni aggiuntive con il comando mail, utilizzare l'opzione -a con il comando. Esegui il comando come segue:
$ echo 'Message body' | mail -s 'Subject' -aFrom:Sender_name recipient address
Il comando precedente consegnerà le informazioni specificate al ricevitore.
Aggiunta di un allegato
Possiamo anche allegare un file alla mail. L'opzione -a viene utilizzata per allegare un file insieme alla posta. Per aggiungere un allegato, eseguire il comando come segue:
echo 'Message body' | mail -s 'Subject' -r '' -a /path/to/file
Il comando precedente allegherà un file specificato dal percorso specificato con la posta.
Leggi la posta
Il comando mail può essere utilizzato per leggere tutta la posta in arrivo. Tuttavia, non è bello leggere i messaggi di posta dalla riga di comando, ma possiamo capirlo per un briciolo di conoscenza. Per leggere i messaggi di posta in arrivo, eseguire il comando mail senza alcuna opzione come segue:
Il comando precedente mostrerà tutti i messaggi di posta in arrivo.
Manuale per il comando mail
Per leggere il manuale del comando mail, eseguire il comando man come segue:
man mail
Il comando precedente visualizzerà il manuale del comando mail sul tuo terminale. Considera l'output seguente:
Premere il tasto 'q' per uscire dal manuale e il tasto 'h' per ricevere assistenza. L'opzione di aiuto elenca più opzioni per assisterti. Considera l'immagine qui sotto:
Per uscire dalla guida, premere il tasto 'q'.
arraylist ordinato java