Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows Phone
  • Invio di posta dalla riga di comando di Windows. Ricevi e invia posta dalla riga di comando

Invio di posta dalla riga di comando di Windows. Ricevi e invia posta dalla riga di comando

Originale: esempi di comandi di posta Linux: invia messaggi di posta dalla riga di comando
Autore: Luna d'Argento
Data di pubblicazione: 27 agosto 2013
Traduzione: A. Krivoshey
Data di trasferimento: dicembre 2013

In genere, per ricevere e inviare posta vengono utilizzati servizi Web come Gmail e Yahoo o client di posta elettronica grafici. Tuttavia, in Linux possiamo anche inviare o ricevere posta dalla riga di comando. Ciò è utile in situazioni come l'invio di posta da script o nei casi in cui guscio grafico non disponibile.
Questo tutorial descrive come utilizzare il comando mail per ricevere e inviare posta.

Invio posta

A seconda della distribuzione che stai utilizzando, potrebbe essere necessario installare pacchetti aggiuntivi, come mailutils, in modo che il comando mail funzioni correttamente.

Gli utenti Debian/Ubuntu possono utilizzare il comando apt-get:

# apt-get install mailutils

Gli utenti Fedora/CentOS/Red Hat Enterprise Linux (RHEL) possono farlo utilizzando yum:

# gnam installa mailutils

Il comando mail ora dovrebbe essere pronto.

Esegui il comando seguente, sostituendo " [e-mail protetta]"al tuo indirizzo E-mail. L'opzione s specifica l'oggetto della lettera.

Ora puoi inserire il testo della lettera. Quando hai finito, premi "control-D" all'inizio di una nuova riga.

# mail -s "Questo è l'oggetto" [e-mail protetta] Cc: Ciao Silver, come? Sei sto facendo Spero che vada bene. Ciao

Hai inviato la prima lettera da riga di comando. Il contenuto della lettera può essere inserito da un file.
Su alcune distribuzioni shell dei comandi chiederò prima di entrare modalità interattiva inserendo altri campi come "Cc" (copia carbone). Basta premere "Invio" per saltare questo passaggio. Dopo aver inserito l'indirizzo o gli indirizzi e-mail, è necessario premere "Invio" per spostarsi nuova linea, al corpo della lettera.
Dopo aver premuto Ctrl+D si ritorna alla riga di comando senza ulteriori notifiche. Tuttavia, la tua lettera è stata inviata.
È interessante notare che, se non scrivi nulla nel corpo dell'e-mail e premi Ctrl+D, il comando mail risponderà con questo:

# mail -s "Questo è l'oggetto" [e-mail protetta] Cc: corpo del messaggio nullo; spero che vada bene

Se il corpo della lettera è archiviato nel ns fascicolo separato, possiamo usarlo direttamente per inviare un'e-mail. Ciò è utile quando si richiama il comando mail da script o altri programmi scritti, ad esempio, in perl o php.

$posta -s" Ciao mondo" [e-mail protetta] < /home/user/mailcontent.txt

O invio veloce lettere in una riga:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]

Altro parametri utili comandi di posta:

Oggetto S (oggetto lettera)
-c indirizzo email (CC - invio di una copia della lettera agli indirizzi email)
-b indirizzo email (BCC - invio bcc lettere a indirizzi e-mail)

Di seguito è riportato un esempio di utilizzo di queste opzioni:

$mail -s "Ciao mondo" [e-mail protetta]-C [e-mail protetta]-B [e-mail protetta]

È possibile specificare più destinatari, elencandone gli indirizzi separati da virgole.

$mail -s "Ciao mondo" [e-mail protetta],[e-mail protetta]

Anche specificare l'indirizzo del mittente è semplice, ma qui c'è un trucco. Dopo aver inviato una lettera, devi aggiungere la seguente sequenza di caratteri prima del tuo indirizzo:

(doppio trattino) (spazio) (trattino singolo) (nessuno spazio) f

Di seguito è riportato un esempio:

$mail -s "Ciao mondo" [e-mail protetta]-- -F [e-mail protetta]

Tuttavia la sequenza precedente potrebbe funzionare in Centos ma non in Debian o Ubuntu. Questi sistemi utilizzano una sintassi alternativa:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]-aDa: [e-mail protetta]

L'opzione a generalmente aggiunge intestazioni aggiuntive. Per specificare il mittente che lo utilizza, utilizzare la seguente sintassi:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]-aDa:Blogger\

Tieni presente che evitiamo le parentesi angolari, poiché potrebbero avere uno scopo specifico per la shell dei comandi.

Invio di email con allegati

Il comando mail è utilizzato ancora oggi perché è semplice e modo rapido invio di email, ma sfortunatamente non supporta l'invio di allegati. Ora lo faremo passo successivo e scopri MUTT. Questa è una console molto potente client di posta e può fare molto di più che inviare semplicemente e-mail con allegati, ma in questo casoÈ questa possibilità che ci interessa.

Se non hai mutt installato per impostazione predefinita, puoi farlo usando apt-get o yum from nome della radice(o usando sudo):

Per gli utenti Debian/Ubuntu:

# apt-get install mutt

Per gli utenti Fedora/CentOS o Red Hat Enterprise Linux (RHEL):

# gnam installa bastardino

Ora puoi inviare e-mail con allegati dalla riga di comando.

Invio di una semplice lettera:

# echo "Questo è il corpo del messaggio" | bastardino -s "ciao" [e-mail protetta]

Invio di un'e-mail con un allegato:

$ mutt -s "Ciao mondo" -a /home/utente/file_da_attach.tar.gz [e-mail protetta] < home/user/mailcontent.txt

È semplice.

Invio di e-mail da script bash/shell

Ora scaviamo più a fondo e proviamo a inviare un'e-mail da uno script di shell. Di seguito è riportato un semplice script che invia informazioni sull'utilizzo del disco.

#!/bin/bash du -sh | mail -s "rapporto sull'utilizzo del disco" [e-mail protetta]

Aprire nuovo file, incolla le righe sopra, salva ed esegui. Riceverai un'e-mail contenente l'output del comando "du -sh".
E l'ultimo trucco nelle lettere di termini di comando- aggiunta di allegati alle lettere inviate dagli script. Diciamo che devi fare copia di backup directory con file di configurazione, archivialo e invialo come allegato utilizzando mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "File di configurazione archiviati" | mutt -a /home/utente/backup.tar.gz -s " dati di backup" [e-mail protetta]

Il comando echo all'inizio della terza riga aggiunge il testo "File di configurazione archiviati" al corpo del messaggio.

Leggere lettere

Finora abbiamo esaminato l'invio di e-mail dalla riga di comando. Infatti, puoi anche leggere facilmente le email dalla riga di comando:

Probabilmente hai notato che utilizziamo lo stesso comando per inviare e ricevere e-mail. Tuttavia, non è necessario aggiungere alcuna opzione per leggere le e-mail.
Di seguito è riportata una semplice conclusione:

$ mail Heirloom Mail versione 12.4 del 29/07/08. Tipo? per un aiuto. "/var/spool/mail/hcg": 2 messaggi 2 nuovi >N 1 [e-mail protetta] Gio 1 agosto 16:53 81/3034 "Hello World" N 2 [e-mail protetta] Gio 1 agosto 16:54 82/3061 "rapporto sull'utilizzo del disco" &

La prima riga di output è la versione programmi di posta. La seconda riga dice che ci sono due messaggi, entrambi non letti, e la posta è archiviata nel file /var/spool/mail/hcg.
Tutti hanno Utenti Linux il file di posta si trova nella directory /var/spool/mail/. Quando viene ricevuta una nuova lettera, viene aggiunta alla fine di questo file. Dopo le informazioni sul file, viene visualizzato un elenco di lettere.
Si consiglia vivamente di non modificare questo file senza utilizzando la posta O programma simile. Il modo migliore per leggere o cercare lettere è con grep.
Per leggere la prima lettera è sufficiente digitare 1 e premere Invio. Durante la lettura di una lettera, se desideri tornare all'elenco delle lettere, premi semplicemente "q". Il simbolo > mostra quale e-mail è attualmente quella corrente.

Comando Maildir-utils

"mu" è un insieme di utilità a riga di comando per Linux/Unix che ti consente di farlo ricerca rapida lettere.

Gli utenti Debian/Ubuntu possono installarlo utilizzando apt-get:

# apt-get install maildir-utils

Gli utenti Fedora/CentOS/Red Hat Enterprise Linux (RHEL) possono utilizzare yum:

# gnam installa maildir-utils

Sotto un paio comandi semplici da questo pacchetto:

$ devi trovarlo da:william oggetto:rapporto

per cercare le email di William con l'oggetto report.

Controllare impostazioni attuali mail, viene utilizzata l'opzione info.

# mu-tool info VERSIONE=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

Quindi, possiamo riassumere. Ricevere e inviare e-mail dalla riga di comando non è poi così difficile se sai cosa stai facendo.

Scenario: il tuo dominio: dominio miodominio.com che desideri inviare: lorodominio.com

1. Identifica il server di posta a cui stai inviando. Apri il tipo CMD del prompt

NSLOOKUP imposta q=mx lorodominio.com

Risposta non autorevole: preferenza MX di theirdomain.com = 50, mail exchanger = mail.theirdomain.com Nslookup_big

MODIFICARE Assicurati di inserire exit per completare NSLOOKUP.

2. Connettiti al tuo server di posta

SMTP comunica sulla porta 25. Ora proveremo ad utilizzare TELNET per connetterci al nostro server di posta "mail.lorodominio.com"

Apri un prompt CMD

TELNET MAIL.THEIRDOMAIN.COM 25

Dovresti vedere qualcosa di simile come risposta:

220 mx.google.com ESMTP 6si6253627yxg.6

Tieni presente che server diversi avrai saluti diversi, ma dovresti ricevere QUALCOSA. Se non succede nulla in questo momento, ce ne sono due possibili problemi. La porta 25 è bloccata sul tuo firewall o il loro server non risponde. Prova un altro dominio, se funziona allora non sei tu.

3. Invia e-mail

Ora utilizza semplici comandi SMTP per inviare un messaggio di prova. Questo è molto importante, NON PUOI usare il tasto backspace, funzionerà sullo schermo ma non verrà interpretato correttamente. È necessario digitare questi comandi perfettamente.

Ehlo miodominio.com posta da: rispondi a:

Che cosa significa questo? EHLO - presentati a server emailÈ possibile utilizzare anche HELO, ma EHLO dice al server di utilizzare un set esteso di comandi (non quello che usiamo noi).

MAIL FROM - chi sta inviando l'e-mail. Assicurati che sia più o meno quello tra parentesi poiché ciò richiederà molti server di posta elettronica (Postini).

RCPT TO: a chi lo stai inviando. Ancora una volta è necessario utilizzare le parentesi. Consulta il passaggio 4 su come testare l'inoltro della posta!

DATI: comunica al server SMTP che quanto segue è il corpo della tua email. Non dimenticare di premere "Invio" alla fine.

Solo il punto nella riga indica al server SMTP che hai finito con i dati ed è chiaro che è possibile inviare l'e-mail.

esci: termina la sessione TELNET.

4. Testare l'inoltro SMTP Testare l'inoltro SMTP è molto semplice e richiede solo una leggera modifica ai comandi precedenti. Vedi sotto:

Ehlo miodominio.com posta da: rispondi a: dati Questo è un test, per favore non rispondere. esentato

Vedi la differenza? Nella riga RCPT TO stiamo inviando un dominio non controllato server SMTP, a cui spediamo. Riceverai un errore immediato: l'inoltro SMTP è disabilitato. Se puoi procedere e inviare un'e-mail, l'inoltro è consentito da quel server.


Autore: Luna d'Argento
Data di pubblicazione: 27 agosto 2013
Traduzione: A. Krivoshey
Data di trasferimento: dicembre 2013

In genere, per ricevere e inviare posta vengono utilizzati servizi Web come Gmail e Yahoo o client di posta elettronica grafici. Tuttavia, in Linux possiamo anche inviare o ricevere posta dalla riga di comando. Ciò è utile in situazioni come l'invio di posta da script o nei casi in cui l'interfaccia grafica non è disponibile.
Questo tutorial descrive come utilizzare il comando mail per ricevere e inviare posta.

Invio posta

A seconda della distribuzione che stai utilizzando, potrebbe essere necessario installare pacchetti aggiuntivi come mailutils affinché il comando mail funzioni correttamente.

Gli utenti Debian/Ubuntu possono utilizzare il comando apt-get:

# apt-get install mailutils

Gli utenti Fedora/CentOS/Red Hat Enterprise Linux (RHEL) possono farlo utilizzando yum:

# gnam installa mailutils

Il comando mail ora dovrebbe essere pronto.

Esegui il comando seguente, sostituendo " [e-mail protetta]» al tuo indirizzo email. L'opzione s specifica l'oggetto della lettera.

Ora puoi inserire il testo della lettera. Quando hai finito, premi "control-D" all'inizio di una nuova riga.

# mail -s "Questo è l'oggetto" [e-mail protetta] Cc: Ciao Silver, come stai? Spero che vada tutto bene. Ciao

Hai inviato la tua prima email dalla riga di comando. Il contenuto della lettera può essere inserito da un file.
Su alcune distribuzioni, la shell ti chiederà prima di inserire in modo interattivo altri campi, come "Cc" (copia carbone). Basta premere "Invio" per saltare questo passaggio. Una volta inserito il tuo indirizzo o i tuoi indirizzi email, devi premere Invio per spostarti su una nuova riga, nel corpo dell'email.
Dopo aver premuto Ctrl+D si ritorna alla riga di comando senza ulteriori notifiche. Tuttavia, la tua lettera è stata inviata.
È interessante notare che, se non scrivi nulla nel corpo dell'e-mail e premi Ctrl+D, il comando mail risponderà con questo:

# mail -s "Questo è l'oggetto" [e-mail protetta] Cc: corpo del messaggio nullo; spero che vada bene

Se memorizziamo il corpo della lettera in un file separato, possiamo utilizzarlo direttamente per inviare la lettera. Ciò è utile quando si richiama il comando mail da script o altri programmi scritti, ad esempio, in perl o php.

$mail -s "Ciao mondo" [e-mail protetta]

Oppure invia rapidamente una lettera in una riga:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]

Altre opzioni utili dei comandi di posta:

Oggetto S (oggetto lettera)
-c indirizzo email (CC - invio di una copia della lettera agli indirizzi email)
-b indirizzo email (BCC - invio di una copia nascosta della lettera agli indirizzi email)

Di seguito è riportato un esempio di utilizzo di queste opzioni:

$mail -s "Ciao mondo" [e-mail protetta]-C [e-mail protetta]-B [e-mail protetta]

È possibile specificare più destinatari, elencandone gli indirizzi separati da virgole.

$mail -s "Ciao mondo" [e-mail protetta],[e-mail protetta]

Anche specificare l'indirizzo del mittente è semplice, ma qui c'è un trucco. Dopo aver inviato una lettera, devi aggiungere la seguente sequenza di caratteri prima del tuo indirizzo:

(doppio trattino) (spazio) (trattino singolo) (nessuno spazio) f

Di seguito è riportato un esempio:

$mail -s "Ciao mondo" [e-mail protetta]-- -F [e-mail protetta]

Tuttavia la sequenza precedente potrebbe funzionare in Centos ma non in Debian o Ubuntu. Questi sistemi utilizzano una sintassi alternativa:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]-aDa: [e-mail protetta]

L'opzione a generalmente aggiunge intestazioni aggiuntive. Per specificare il mittente che lo utilizza, utilizzare la seguente sintassi:

# echo "Questo è il corpo del messaggio" | mail -s "Questo è l'oggetto" [e-mail protetta]-aDa:Blogger\

Tieni presente che evitiamo le parentesi angolari, poiché potrebbero avere uno scopo specifico per la shell dei comandi.

Invio di email con allegati

Il comando mail viene utilizzato ancora oggi perché è un modo semplice e veloce per inviare email, ma purtroppo non supporta l'invio di allegati. Ora faremo il passo successivo e scopriremo MUTT. Si tratta di un client di posta elettronica per console molto potente e può fare molto di più che inviare semplicemente email con allegati, ma in questo caso è proprio questa funzionalità che ci interessa.

Se non hai mutt installato per impostazione predefinita, puoi farlo con apt-get o yum come root (o usando sudo):

Per gli utenti Debian/Ubuntu:

# apt-get install mutt

Per gli utenti Fedora/CentOS o Red Hat Enterprise Linux (RHEL):

# gnam installa bastardino

Ora puoi inviare e-mail con allegati dalla riga di comando.

Invio di una semplice lettera:

# echo "Questo è il corpo del messaggio" | bastardino -s "ciao" [e-mail protetta]

Invio di un'e-mail con un allegato:

$ mutt -s "Ciao mondo" -a /home/utente/file_da_attach.tar.gz [e-mail protetta]

È semplice.

Invio di e-mail da script bash/shell

Ora scaviamo più a fondo e proviamo a inviare un'e-mail da uno script di shell. Di seguito è riportato un semplice script che invia informazioni sull'utilizzo del disco.

#!/bin/bash du -sh | mail -s "rapporto sull'utilizzo del disco" [e-mail protetta]

Apri un nuovo file, incolla le righe sopra, salva ed esegui. Riceverai un'e-mail contenente l'output del comando "du -sh".
E l'ultimo trucco con le lettere dalle righe di comando è aggiungere allegati alle lettere inviate dagli script. Diciamo che devi fare il backup di una directory con i file di configurazione, comprimerla e inviarla come allegato usando mutt:

#!/bin/bash tar -zcf /home/user/backup.tar.gz /home/user/files_to_backup echo "File di configurazione archiviati" | mutt -a /home/utente/backup.tar.gz -s "dati di backup" [e-mail protetta]

Il comando echo all'inizio della terza riga aggiunge il testo "File di configurazione archiviati" al corpo della lettera.

Leggere lettere

Finora abbiamo esaminato l'invio di e-mail dalla riga di comando. Infatti, puoi anche leggere facilmente le email dalla riga di comando:

Probabilmente hai notato che utilizziamo lo stesso comando per inviare e ricevere e-mail. Tuttavia, non è necessario aggiungere alcuna opzione per leggere le e-mail.
Di seguito è riportata una semplice conclusione:

$ mail Heirloom Mail versione 12.4 del 29/07/08. Tipo? per un aiuto. "/var/spool/mail/hcg": 2 messaggi 2 nuovi >N 1 [e-mail protetta] Gio 1 agosto 16:53 81/3034 "Hello World" N 2 [e-mail protetta] Gio 1 agosto 16:54 82/3061 "rapporto sull'utilizzo del disco" &

La prima riga di output è la versione del programma di posta. La seconda riga dice che ci sono due messaggi, entrambi non letti, e la posta è archiviata nel file /var/spool/mail/hcg.
Per tutti gli utenti file Linux with mail si trova nella directory /var/spool/mail/. Quando viene ricevuta una nuova lettera, viene aggiunta alla fine di questo file. Dopo le informazioni sul file, viene visualizzato un elenco di lettere.
Si consiglia vivamente di non modificare questo file senza utilizzare la posta o un programma simile. Il modo migliore per leggere o cercare lettere è con grep.
Per leggere la prima lettera è sufficiente digitare 1 e premere Invio. Durante la lettura di una lettera, se desideri tornare all'elenco delle lettere, premi semplicemente "q". Il simbolo > mostra quale e-mail è attualmente quella corrente.

Comando Maildir-utils

"mu" è un insieme di utilità a riga di comando per Linux/Unix che ti consente di cercare rapidamente i messaggi di posta elettronica.

Gli utenti Debian/Ubuntu possono installarlo utilizzando apt-get:

# apt-get install maildir-utils

Gli utenti Fedora/CentOS/Red Hat Enterprise Linux (RHEL) possono utilizzare yum:

# gnam installa maildir-utils

Di seguito sono riportati un paio di semplici comandi da questo pacchetto:

$ devi trovarlo da:william oggetto:rapporto

per cercare le email di William con l'oggetto report.

Per verificare le impostazioni di posta correnti, utilizzare l'opzione informazioni.

# mu-tool info VERSIONE=2.99.97 SYSCONFDIR=/etc MAILSPOOLDIR=/var/mail/ SCHEME=mbox LOG_FACILITY=mail .....

Quindi, possiamo riassumere. Ricevere e inviare e-mail dalla riga di comando non è poi così difficile se sai cosa stai facendo.

Fonte http://rus-linux.net/MyLDP/consol/mails.html

I migliori articoli sull'argomento