• …vuoi RADDOPPIARE le visite del tuo sito? Scegli il miglior Hosting WordPress!

Giuseppe Fava

Follow @giuseppe_fava
  • Home
  • Internet
    • WordPress
    • Joomla
  • Pc e Software
    • Windows
    • Linux
  • Mobile VoIP
  • Altro
Home » Configurare ssmtp per BackupPC su Ubuntu 16.04

Configurare ssmtp per BackupPC su Ubuntu 16.04

di Leandro Botter Lascia un commento

In questo articolo ti spiego come configurare ssmtp, un programma che permette ad una macchina Linux di inviare email utilizzando un server SMTP esterno (per esempio Gmail). In questo articolo vediamo come configurare ssmtp per inoltrare le notifiche di BackupPC, ma vedrai che ti risulterà poi facile utilizzarlo anche in altri contesti.

 

BackupPC e ssmtp

Per poter inviare email è necessario disporre di un server SMTP. Per questo motivo – come ho scritto nell’articolo in cui ti spiego come installare BackupPC su Ubuntu 16.04 – l’installazione di BackuPC dai repository di Ubuntu prevede, come dipendenza, l’installazione del server SMTP Postfix.

Ma ci sono diversi motivi per cui può non essere una buona idea installare un server SMTP:

  • perché già disponi di un server SMTP (installato in un’altra macchina della tua LAN, messo a disposizione dal provider della tua connessione Internet o da servizi come Gmail);
  • perché ti basta inviare verso l’esterno le email generate dal sistema locale e non ti servono altre funzioni tipiche di un server SMTP;
  • perché più codice gira in una macchina, più risorse (CPU e RAM in primis) vengono utilizzate, più aggiornamenti vengono scaricati e maggiori sono i potenziali bug del sistema.

ssmtp è un software, leggero e facile da configurare, che si occupa esclusivamente di inoltrare ad un server SMTP esterno le email generate dal sistema in cui è installato.

 

Installare ssmtp

Se nel sistema è già presente un server SMTP dovresti disinstallarlo. Ma se per gestire l’installazione dei programmi stai utilizzando il package manager della tua distribuzione, allora l’installazione di ssmtp dovrebbe automaticamente provocarne la rimozione.

Nel caso di Ubuntu l’installazione di ssmtp comporta la rimozione automatica di Postfix:

sudo apt-get install ssmtp

 

Configurare ssmp

impostazione di un relay STMP esterno

In rete trovi parecchia documentazione su come configurare ssmtp, quindi mi limito a mostrarti come usare Gmail:

sudo vi /etc/ssmtp/ssmtp.conf

 

LEGGI ANCHE:   Come trasferire SMS da iPhone a Android

Configurazione minima per Gmail:

root=backuppc
mailhub=smtp.gmail.com:587
AuthUser=<tuo account Gmail>
AuthPass=<password tuo account Gmail>
AuthMethod=LOGIN
UseTLS=Yes
UseSTARTTLS=Yes

L’impostazione root=backuppc serve ad inoltrare – in questo caso all’indirizzo email associato all’alias di sistema backuppc – i messaggi indirizzati agli utenti locali (cioè destinati a indirizzi email il cui dominio è uguale a quello della macchina).

 

Dato che il file ssmtp.conf contiene una password, ti consiglio di limitarne l’accesso in lettura:

sudo chmod 600 /etc/ssmtp/ssmtp.conf

 

Verifica il funzionamento di ssmtp:

echo "Messaggio di prova" | sudo ssmtp -vvv <il tuo indirizzo email>

 

configurare ssmtp per BackupPC

Ora sai come configurare ssmtp, ma per poterlo usare con BackupPC ti resta un problemino da risolvere ….

Lo script BackupPC_sendEmail, usato da BackupPC per inviare email, esegue il comando sendmail con il parametro -t, non compatibile con ssmtp. Dobbiamo quindi intervenire con un piccolo “hack” (ripreso dalla soluzione suggerita da Qnap per l’installazione BackupPC nei suoi NAS) che aggira il problema con uno script che accetta il parametro -t, lo ignora e richiama ssmtp.

sudo touch /usr/local/bin/mysendmail.sh
sudo chmod 755 /usr/local/bin/mysendmail.sh
sudo vi /usr/local/bin/mysendmail.sh

 

Questo è il codice dello script mysendmail.sh:

#!/bin/bash
#
from=""
while [ "$#" -gt 0 ]; do
    case "$1" in
        -f)
            shift
            from="$1"
            ;;
        *)
            ;;
    esac
    shift
done
 
msg=$(cat)
to=$(echo "$msg" | /usr/bin/head -1 | grep "^To: ")
to=${to#To: }
 
( echo "From: $from" ; echo "$msg" ) | /usr/sbin/ssmtp $to

 

Non ti resta che linkare questo script al comando sendmail:

sudo rm /usr/sbin/sendmail
sudo ln -s /usr/sbin/sendmail /usr/local/bin/mysendmail.sh

 

Finito.

 

Conclusioni

Installare un server SMTP non è proprio una passeggiata e  una cattiva configurazione può comportare molti disagi. Saper configurare ssmtp ti permetterà di sfruttare un server SMTP professionale semplicemente disponendo delle dovute credenziali che ti autorizzano all’invio. In questo modo puoi gestire in modo adeguato i messaggi inviati da un server senza doverti preoccupare della gestione del server di posta.

 

Buon lavoro e buon divertimento.

FacebookTwitterLinkedinPinterest

Archiviato in:Linux, Software Contrassegnato con: backup, copia, ubuntu

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

offerte amazon
Ad - Web Hosting SiteGround - Creato per semplificare la gestione del sito. Clicca per scoprire di più.

Copyright © 2023 · Privacy policy · Realizzato da Giuseppe Fava · con il miglior hosting WordPress · Contatti

Go to mobile version