Come posso impostare il comando 'mail' di Unix?


9

Ho dato un'occhiata a Google e alle pagine man per la posta, ma non riesco a capire come configurarlo. Tutto quello che voglio fare è impostare il mio indirizzo e-mail in modo da poter inviare e-mail tramite il terminale. Come lo faccio?

Risposte:


12

Tradizionalmente, i programmi di posta Unix, incluso mail, si basano su un MTA (Mail Transfer Agent) per eseguire la trasmissione effettiva.

Puoi usare un MTA full-size (postfix, exim4, opensmtpd) configurandolo con un 'smarthost' (relayhost), oppure un MTA leggero e solo in uscita (msmtp, ssmtp, esmtp, nullmailer) che ne usa sempre uno.


Per uso personale, msmtpsarà più semplice da configurare: può solo inviare posta, non ricevere e consente una configurazione specifica dell'utente.

Installa msmtp, quindi aggiungi il tuo account Gmail in ~/.msmtprc:

default
    tls on
    # potrebbe essere necessario modificare il percorso seguente
    tls_trust_file /etc/ssl/certs/ca-certificates.crt

account gmail
    dal tuo indirizzo @ gmail.com
    host smtp.gmail.com
    porta 587
    autentico
    user tuo indirizzo @ gmail.com

account predefinito: gmail

Ora dì maildi usare msmtp, modificando ~/.mailrc:

set sendmail = "/ usr / bin / msmtp"

(Se questo non funziona, esegui ln -s /usr/bin/msmtp /usr/sbin/sendmailcome root.)

Infine, se vuoi mail/ msmtpricordare la tua password Gmail, va a ~/.netrc:

macchina smtp.gmail.com
    accedi al tuo indirizzo @ gmail.com 
    password "la tua password qui "

3

A meno che l'amministratore di sistema non abbia già impostato il sistema di posta, è necessario configurare un agente di trasferimento posta. Ovvero sendmail, i sistemi moderni usano postfix o exim4.


2

Su molti sistemi troverai un mailxcomando che può essere utilizzato per inviare e-mail. Questo può essere un collegamento al comando mail, ma modifica il comportamento del comando. Come altri hanno già notato, ciò presuppone che sul server sia configurato un MTA (Mail Transfer Agent). Può essere utilizzato in modo interattivo utilizzando un comando come:

mailx -s "This is a message" user@example.com
This is a message
.

O con una pipe per inviare l'output di un comando:

cat myfile.txt | mailx -s "This is the file" user@example.com

Eseguendolo come mailx -hdovrebbe darti istruzioni d'uso.


1

Se non sei vincolato al mailcomando, nailoffre un'interfaccia simile ma può inviare posta tramite SMTP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.