Che cos’è Sendmail?
sendmail è un MTA molto semplice e semplice (Mail Transfer Agent), che implementa il SMTP (Simple Mail Transfer Protocol) tra gli altri e può essere utilizzato per trasmettere e-mail, in genere anche sul più economico KVM VPS con Linux., Mentre c’è una versione commerciale disponibile che si chiama “Sendmail”, il sendmail che stiamo trattando in questo articolo how-to è la versione basata su UNIX di esso, che viene fornito con praticamente ogni distribuzione Linux così come *BSD (FreeBSD, OpenBSD e varianti). L’uso del comando sendmail potrebbe essere il modo più semplice per inviare e-mail tramite Linux shell CLI (Command Line Interface), a parte mailx, che può essere usato insieme a sendmail per rendere ancora più facile l’invio e la ricezione di mail da riga di comando., Come suggerisce già il nome, sendmail stesso può solo inviare e-mail e non memorizzare quelle ricevute in caselle di posta POP o IMAP.
Dove si trova Sendmail e i suoi file di configurazione?
La prima informazione interessante di cui potremmo aver bisogno per testare sendmail è il percorso del file binario che viene eseguito se emettiamo il comando sendmail sulla nostra riga di comando., Per capirlo, useremo il comando which come mostrato di seguito:
# which sendmail/usr/sbin/sendmail
L’output di cui sopra significa che il percorso completo del file binario del nostro comando sendmail è/usr/sbin / sendmail che dovresti notare per i passaggi più avanti.
Se vuoi regolare i file di configurazione di sendmail, di solito puoi trovarli nella directory /etc/mail/ sui sistemi UNIX (FreeBSD, OpenBSD) e Linux (CentOS, Fedora, Debian, Ubuntu). Il file di configurazione principale di sendmail è / etc / mail / sendmail.,cf, tuttavia la regolazione che non fa parte di questo tutorial. Un buon posto per ulteriori informazioni è la pagina di manuale di sendmail, che è possibile visualizzare eseguendo il comando man sendmail. Passiamo ora alla parte interessante di questo tutorial da riga di comando di sendmail.
Come testare il comando Sendmail Su Linux
Per testare rapidamente se il comando sendmail funziona correttamente per poi usarlo ad esempio negli script di shell, tramite riga di comando o anche da script PHP (PHP supporta sendmail per inviare email da script PHP – puoi impostare il percorso di sendmail nel tuo php.,ini), è possibile emettere il seguente comando sul sistema UNIX o Linux:
echo " Subject: sendmail test | / sendmail-v [email protected]
[email protected] è ovviamente l’indirizzo e-mail a cui si desidera inviare l’e-mail di prova. Questo esempio della riga di comando di sendmail invierà un’e-mail vuota con oggetto “sendmail test” a [email protected] se il test ha esito positivo. Puoi anche inviare e-mail più lunghe contenenti un oggetto, un corpo e intestazioni aggiuntive se lo desideri, ma solo per verificare se sendmail funziona che di solito non è richiesto. Tuttavia, ecco come puoi farlo:
1.,) Crea un file chiamato mail.txt (o qualcosa che ti piace) in ~ / mail.txt con vim o nano o il tuo editor di testo preferito
2.) Incolla il seguente contenuto, ma ovviamente regolando gli indirizzi e-mail, poiché questi sono solo esempi di comandi di sendmail:
Su: [email protected]: sendmail prova due: [email protected]
E qui va il corpo e-mail, test test test..
3.) Finalmente inviamo il modello di e-mail che abbiamo appena creato con: sendmail-vt < ~/mail.,txt
Questo è tutto – è ora possibile testare sendmail dalla riga di comando e persino inviare e-mail complete comprese le intestazioni dalla shell Linux/UNIX. Qui di seguito è un esempio di come la semplice prova sendmail come potrebbe apparire su un sistema live:
Sendmail E Spam
Una cosa che vorrei aggiungere è che, a causa del fatto che PHP e altri linguaggi di solito può accedere a sendmail di binari, può anche essere utilizzato per inviare spam e phishing mail e che cosa può accadere su server condivisi in cui account sono stati compromessi da un vecchio CMS o password deboli., Se volete scoprire quale script o POSIX utente sta inviando spam con sendmail, è possibile eseguire il seguente comando e di prestare particolare attenzione al di uscita:
ps finto | grep sendmail
Sendmail Conclusione
Mentre sendmail può comportare alcuni rischi condivisi o insicuro sistemi, si tratta di una grande leggerezza MTA che può essere utilizzato per inviare e-mail da script di shell, applicazioni PHP o anche direttamente la riga di comando., Inoltre negozia automaticamente STARTTLS per la trasmissione crittografata delle e-mail se il server SMTP remoto lo supporta, il che è un’utile pratica di sicurezza.