SMTP sur Raspberry Pi

Envoyer un mail depuis le Raspberry-Pi avec compte smtp externe

SMTP sur Raspberry Pi

Installation d'un SMTP sur Raspberry Pi

Vérifier les mises à jours

sudo apt update

Inastallation mailutils

sudo apt install mailutils

Envoi d'un fichier avec SSMTP (facultatif)

Si vous avez besoin d'envoyer des fichiers en pièces jointes, vous pouvez utiliser mpack.

Pour installer mpack, exécutez la commande suivante :

sudo apt install mpack

Ensuite, pour envoyer un e-mail avec un fichier joint, exécutez la commande suivante

mpack -s "Your Subject here" your_file.zip your_recepient_email@yourdomain.com

La commande ci-dessus enverrait un e-mail à your_recepient_email@yourdomain.com avec le fichier attaché  your_file.zip 

sSMTP (logiciel unix d’envoi de mail)

Très léger, juste le minimum nécessaire pour la majorité des usages. sSMTP redirigera les mails envoyés avec sendmail (localement ou avec PHP par exemple) vers votre serveur SMTP.

SSMTP est un excellent moyen fiable d'implémenter la fonctionnalité de messagerie SMTP directement dans les scripts bash.

SMTP Gmail pour envoyer des e-mails

Installer SSMTP

sudo apt-get install ssmtp

Permission du dosssier

sudo chmod 755  /etc/ssmtp

Enregistrer original fichier conf

sudo mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.bak

Créer un nouveau fichier conf 

nano /etc/ssmtp/ssmtp.conf

Contenu du nouveau fichier

root=your_account@gmail.com
mailhub=smtp.gmail.com:587

FromLineOverride=YES
AuthUser=your_account@gmail.com
AuthPass=your_password
UseSTARTTLS=YES
UseTLS=YES

# Debug=Yes

Test

Envoi de mail en ligne de commande

echo "This is a test" | ssmtp votre@email.test

Script PHP test envoi email

Créer un fichier test-mail.php et ajouter le contenu ci-dessous. Testez ensuite via votre browser http://192.168.1.13/test-mail.php


$from = "from@mailaddress";

$to = "to@mailaddress";
$subject = "PHP
Mail Test script";
$message = "This is a test to check the PHP Mail functionality";
$headers = "From:" . $from;
$success = mail($to,$subject,$message, $headers);
if (!$success) {
echo "Problem message not send ... !!!!";
}
else {
echo "Test email sent";
}
?>