Ssmtp: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
7 041 byte aggiunti ,  13 feb 2016
 
(23 versioni intermedie di uno stesso utente non sono mostrate)
Riga 62: Riga 62:
* '''mailhub''' specifica l'indirizzo del server smtp, comprensivo di porta, cui spedire le mail (ad esempio <code>smtp.gmail.com:587</code> nel caso di gmail). È possibile definire più parametri ''mail hub'' e quindi specificare diversi server smtp, tuttavia si tenga presente che non è comunque possibile definire più di una coppia di credenziali di accesso.
* '''mailhub''' specifica l'indirizzo del server smtp, comprensivo di porta, cui spedire le mail (ad esempio <code>smtp.gmail.com:587</code> nel caso di gmail). È possibile definire più parametri ''mail hub'' e quindi specificare diversi server smtp, tuttavia si tenga presente che non è comunque possibile definire più di una coppia di credenziali di accesso.
* '''hostname''', parametro che definisce il nome host della propria macchina. Normalmente non necessita di essere modificato in quanto generato automaticamente durante l'installazione. Provare a commentarlo in caso di problemi durante l'invio delle email.
* '''hostname''', parametro che definisce il nome host della propria macchina. Normalmente non necessita di essere modificato in quanto generato automaticamente durante l'installazione. Provare a commentarlo in caso di problemi durante l'invio delle email.
* '''FromLineOverride''' permette di modificare il campo ''from'' di una mail con un valore arbitrario. Il valore predefinito inserito nelle mail da <code>ssmtp</code> coincide con <code>nome_utente_linux@nome_host</code>. Si '''sconsiglia''' caldamente sia di abilitare tale opzione che mantenere il valore predefinito, in quanto entrambi i casi provocano spesso il rifiuto delle email da parte dei server smtp di società come gmail e yahoo. Vedere a tal proposito il file di configurazione <code>/etc/sstmp/revaliases</code>
* '''FromLineOverride''' permette di modificare il campo ''from'' di una mail con un valore arbitrario. Il valore predefinito inserito nelle mail da <code>ssmtp</code> coincide con <code>nome_utente_linux@nome_host</code>. Si '''Sconsiglia''' caldamente sia di abilitare tale opzione che mantenere il valore predefinito, in quanto entrambi i casi provocano spesso il rifiuto delle email da parte dei server smtp di società come gmail e yahoo. Vedere a tal proposito il file di configurazione <code>/etc/sstmp/revaliases</code>
* '''AuthMethod''', definisce il metodo di login. Le alternative di solito sono tra i valori <code>LOGIN</code> e <code>PLAIN</code>, tuttavia il primo risulta essere (al momento in cui si scrive) il valore più comune per i servizi come gmail e affini. Non è possibile definire più di una volta questo parametro.
* '''AuthMethod''', definisce il metodo di login. Le alternative di solito sono tra i valori <code>LOGIN</code> e <code>PLAIN</code>, tuttavia il primo risulta essere (al momento in cui si scrive) il valore più comune per i servizi come gmail e affini. Non è possibile definire più di una volta questo parametro.
* '''AuthUser''' e '''AuthPass''' definiscono banalmente le credenziali necessarie ad autenticarsi presso il (o i) mail hub specificati. Entrambi i parametri possono essere specificati al più una volta.
* '''AuthUser''' e '''AuthPass''' definiscono banalmente le credenziali necessarie ad autenticarsi presso il (o i) mail hub specificati. Entrambi i parametri possono essere specificati al più una volta.<br/><br/>
 
{{Warningbox| La password dell'account di posta è in chiaro, quindi può potenzialmente essere letta da chiunque. Si consiglia pertanto di restringere i permessi di questo file almeno a 640. Si veda il prossimo paragrafo per restringre l'accesso mantenendo comunque la possibilità per gli utenti normali di inviare mail.}}
 
==== Restringere l'accesso a <code>ssmtp.conf</code> ====
 
Limitarsi a cambiare i permessi del suddetto file in <code>640</code> significa anche restringere l'utilizzo di <code>ssmtp.conf</code> all'utente root.<br>
Per "salvare capra e cavoli" è sufficiente seguire la seguente procedura:
# <code># chmod 640 /etc/ssmtp/ssmtp.conf</code>
# <code># groupadd ssmtp</code>
# <code># chown :ssmtp /etc/ssmtp/ssmtp.conf</code>
# <code># chown :ssmtp /usr/sbin/ssmtp</code>
# <code># chmod g+s /usr/sbin/ssmtp</code>
Naturalmente l'utente è libero di scegliere un qualsiasi nome per il nuovo gruppo, la scelta di chiamarlo <code>ssmtp</code> è del tutto arbitraria. Quello che conta è che nessun utente normale appartenga a tale gruppo.<br/>
L'ultimo comando fa si che l'eseguibile <code>/usr/sbin/ssmtp</code> risulti appartenere al gruppo <code>ssmtp</code> quando eseguito, a prescindere dall'utente che ha effettivamente lanciato tale applicativo. In tal modo l'utente continua a non poter accedere al file di configurazione, ma l'eseguibile sì.


=== <code>/etc/sstmp/revaliases</code> ===
=== <code>/etc/sstmp/revaliases</code> ===
Riga 82: Riga 96:


Il formato di ogni riga è come facilmente visibile:
Il formato di ogni riga è come facilmente visibile:
<pre>nome_utente_linux : nome_account_email_utente@dominio : indirizzo_server_smtp:587<pre>
<pre>nome_utente_linux : nome_account_email_utente@dominio : indirizzo_server_smtp:587</pre>
Per quanto riguarda il primo e il terzo parametro non vi è nulla da aggiungere, mentre per quanto riguarda il secondo si fa notare che tale parametro definisce il valore predefinito del campo <code>From</code> delle email che si spediscono. Tale valore sostituisce quello predefinito di sistema, ma può essere a sua volta sostituito dagli utenti se in <code>/etc/ssmtp/ssmtp.conf</code> è stato impostato <code>FromLineOverride=YES</code>.
Per quanto riguarda il primo e il terzo parametro non vi è nulla da aggiungere, mentre per quanto riguarda il secondo si fa notare che tale parametro definisce il mittente (cioè il valore predefinito del campo <code>From</code>) delle email che si spediscono. Tale valore sostituisce quello predefinito di sistema, ma può essere a sua volta sostituito dagli utenti se in <code>/etc/ssmtp/ssmtp.conf</code> è stato impostato <code>FromLineOverride=YES</code>.<br/>
Si consiglia sempre di far coincidere l'indirizzo del mittente con quello usato per autenticarsi presso il server smtp (cioè quello specificato dal parametro <code>AuthUser</code> nel file <code>/etc/ssmtp/ssmtp.conf</code>), pena il rischio di verdersi rifiutare l'invio delle mail e anche la chiusura temporanea del suddetto account (es. gmail).
Si consiglia sempre di far coincidere l'indirizzo del mittente con quello usato per autenticarsi presso il server smtp (cioè quello specificato dal parametro <code>AuthUser</code> nel file <code>/etc/ssmtp/ssmtp.conf</code>), pena il rischio di verdersi rifiutare l'invio delle mail e anche la chiusura temporanea del suddetto account (es. gmail).
=== Esempi ===
==== gmail.com ====
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root=nome_account@gmail.com
UseTLS=YES
UseSTARTTLS=YES
mailhub=smtp.gmail.com:587
hostname=nome_host
AuthMethod=LOGIN
AuthUser=nome_account@gmail.com
AuthPass=password_account
</pre>
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root:nome_account@gmail.com:smtp.gmail.com:587
</pre>
Note:
* evitare di specificare come indirizzo mittente un indirizzo diverso da quello usato per autenticarsi presso il server smtp;
* è probabile che sia necessario abilitare l'uso di applicazioni meno sicure dalla pagina del proprio account gmail (account personale --> app e siti collegati --> consenti app meno sicure);
* se si modifica il mittente o si specificano impostazioni che gmail mal sopporta è possibile che cercando di inviare più mail (N > 3) il proprio account gmail venga chiuso temporaneamente con richiesta di verifica attraverso l'invio di un sms sul proprio cellulare.
==== gmx.com ====
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root=nome_account@gmx.com
UseTLS=YES
UseSTARTTLS=YES
mailhub=mail.gmx.com:587
hostname=nome_host
AuthMethod=LOGIN
AuthUser=nome_account@gmx.com
AuthPass=password_account
</pre>
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root:nome_account@gmx.com:mail.gmx.com:587
</pre>
Note:
* evitare di specificare come indirizzo mittente un indirizzo diverso da quello usato per autenticarsi presso il server smtp.
==== yahoo.it ====
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root=nome_account@yahoo.it
UseTLS=YES
UseSTARTTLS=YES
mailhub=smtp.mail.yahoo.it:587
hostname=nome_host
AuthMethod=LOGIN
AuthUser=nome_account@yahoo.it
AuthPass=password_account
</pre>
<code>/etc/ssmtp/ssmtp.conf</code>
<pre>
root:nome_account@yahoo.it:smtp.mail.yahoo.it:587
</pre>
Nota, evitare di specificare come indirizzo mittente un indirizzo diverso da quello usato per autenticarsi presso il server smtp poiché altrimenti si riceve il seguente messaggio d'errore:
<pre>553 From: address not verified;<br/>
"see http://help.yahoo.com/l/us/yahoo/mail/original/manage/sendfrom-07.html"</pre>
== Invio mail ==
Come già accennato nell'introduzione è possibile inviare mail sia usando l'eseguibile <code>ssmtp</code> che un qualsiasi MUA di propria scelta.
=== ssmtp ===
È possibile inviare mail sia in modo interattivo che specificando un file testuale contenente il messaggio della mail.<br/>
Si noti che <code>ssmtp</code> è inserito nel path degli eseguibili disponibili solo per <code>root</code>, gli utenti normali invece, pur potendolo eseguire, devono o aggiungere manualmente il suo percorso all'elenco che definisce dove cercare i vari eseguibili, oppure specificare ogni volta il percorso completo di <code>ssmtp</code>.
==== invio interattivo ====
Digitare:
<pre>$ ssmtp indirizzo_mail_destinatario@dominio</pre>
e premere "invio". Nella nuova riga digitare:
<pre>To: indirizzo_mail_destinatario@dominio</pre>
e premere "invio". Nella nuova riga digitare:
<pre>Subject: oggetto della mail</pre>
e premere "invio". Nella nuova riga scrivere il corpo del messaggio e quindi premere <code>CTRL + D</code> per inviare il messaggio.<br/>
In sintesi prima si inseriscono i vari campi della mail e solo per ultimo il messaggio da inviare:
# destinatario (<code>To:</code>);
# eventuali destinatari in copia (<code>Cc:</code>) uno per riga;
# mittente se diverso da quello predefinito e se non crea problemi come descritto sopra (<code>From:</code>);
# oggetto della mail (<code>Subject:</code>);
# corpo della mail.
==== invio da file testuale ====
La formattazione da seguire è la medesima descritta al punto precedente, ma tutti i dati devo essere inseriti in un file testuale contenente qualcosa di simile a quanto segue:
<pre>
To: indirizzo destinatario
Cc: indirizzo destinatario copia 1
Cc: indirizzo destinatario copia N
Subject: oggetto della mail
Corpo della mail
</pre>
Si noti che tra <code>Subject:</code> e corpo della mail deve '''NECESSARIAMENTE''' esserci una riga vuota.<br/>
Per inviare la mail è sufficiente digitare:
<pre>$ ssmtp indirizzo_destinatario@dominio < nome_file</pre>
È bene sottolineare che i campi relativi a destinatari e copia sono puramente descrittivi nel file di testo, perché infatti una mail raggiunga effettivamente tutti i destinatari designati è necessario indicarli tutti nella riga di comando semplicemente separandoli con uno spazio, ad esempio:
<pre>$ ssmtp indirizzo_destinatario1@dominio indirizzo_destinatario2@dominio ecc. < nome_file</pre>
=== Mutt ===
Premesso che chi scrive non ha mai provato ad usare ''Mutt'' in combinazione con ''ssmtp'', la configurazione di questo MUA dovrebbe essere semplice.
Creare, se già non esiste, un file di nome <code>~/.muttrc</code> (copiandolo per esempio da <code>/etc/Muttrc</code>), quindi editarlo inserendo le seguenti linee:
<pre>
set sendmail="/usr/sbin/ssmtp"
set from="indirizzo_account@dominio"
set use_from=yes
</pre>
Come già ripetuto in precedenza, evitare di indicare come indirizzo del mittente un indirizzo differente da quello usato per autenticarsi al server ssmtp specificato in <code>smtp.conf</code> (a meno di non essere assolutamente sicuri che ciò non crei problemi col proprio provider di posta).
== Approfondimenti ==
=== Man pages ===
<code>man ssmtp</code><br>
<code>man ssmtp.conf</code>
=== Sitografia ===
* [https://wiki.debian.org/sSMTP Debian Wiki]
* [http://linuxaria.com/pills/sending-email-from-your-system-with-ssmtp?lang=it Linuxaria]
* [https://wiki.archlinux.org/index.php/SSMTP ArchWiki]
* [http://nekhbet.com/ssmtp_yahoo.shtml nekhbet.com]


{{Autori
{{Autori
Riga 92: Riga 257:
|Numero_revisori = 0
|Numero_revisori = 0
}}
}}
[[Categoria:Mail server]]
2 894

contributi

Menu di navigazione