mailx può usare SMTP. Il suo file di configurazione è ~/.mailrc
Un esempio è mailx che utilizza l'SMTP di Gmail.
Il configure può anche essere in un comando:
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS
Se viene utilizzato un normale server SMTP, è molto più semplice (vedi un'introduzione dettagliata qui):
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS
Puoi anche inserirli nel file di configurazione di mailx ~/.mailrc
Tradizionalmente, Unix mail
e derivati (e molti altri strumenti Unix) usano /usr/bin/sendmail
interfaccia, fornita da quasi tutti gli agenti di trasferimento della posta (MTA:postfix, exim, corriere e ovviamente sendmail).
Cioè, il mail
il programma non parla alcun protocollo di rete – invia il messaggio a sendmail
tramite stdin e gli consente di gestire la consegna effettiva. (Questo risale ai giorni in cui alcune mail usavano SMTP, altre usavano UUCP, altre usavano BITNET...)
Una volta che un messaggio è stato messo in coda attraverso sendmail
, l'MTA gestisce la trasmissione effettiva dei messaggi, tramite SMTP o altro. A seconda della configurazione, può connettersi direttamente all'MTA di destinazione o inoltrare la posta tramite un altro host (chiamato anche smarthost).
La connessione diretta è più comune sui server; l'inoltro tramite smarthost è più comune sui personal computer su connessioni domestiche:l'inoltro tramite il tuo account Gmail o ISP/e-mail di lavoro è essenziale per evitare i filtri antispam "IP dinamico".
(Alcuni MTA come esmtp
o nullmailer
sono creati appositamente per gli utenti domestici e sempre usa un host di inoltro. Questi non supportano la ricezione della posta e sono molto più leggeri in termini di risorse.)
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → recipient MTA → recipient inbox
mailx → [/usr/bin/sendmail] → local MTA queue → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Altri programmi, principalmente i client grafici user-friendly come Thunderbird o Outlook, sempre connettiti direttamente a un server SMTP relay/smarthost (di nuovo, solitamente Gmail o ISP/server SMTP di lavoro), che trasmette il messaggio per tuo conto.
Il supporto SMTP nativo è presente in heirloom-mailx
, ma non nel tradizionale bsd-mailx
.
app → [SMTP] → Gmail or ISP/work servers → [SMTP] → recipient MTA → recipient inbox
Il terzo metodo, la connessione diretta al server del destinatario, è quasi mai utilizzato e nessun MUA lo supporta. Sui personal computer, il suo utilizzo causerebbe il rifiuto del tuo messaggio (molto spam viene inviato da indirizzi IP di utenti domestici infetti).
app → [SMTP] → recipient MTA → caught by the spam filter
Dal mailx(1)
pagina man, DESCRIZIONE sezione Opzioni stringa sottosezione:
smtp Normally, mailx invokes sendmail(8) directly to transfer
messages. If the smtp variable is set, a SMTP connection
to the server specified by the value of this variable is
used instead.