Envoyer un email depuis votre Raspberry Pi

Si vous possédez un Raspberry comme serveur, outil de domotique ou autre il peut être pratique d’avoir des nouvelles de sa part régulièrement. Avec sSMTP vous pourrez facilement envoyer des emails en passant par le serveur SMTP d’un fournisseur (ici Google)

raspberry send email gmail ssmtp

  1. Mettre à jour la distribution
    apt-get update && apt-get upgrade -y
  2. Installer sSMTP, mpack (pour encoder et décoder d’éventuelles pièces jointes) et mailutils qui contient la commande mail pour envoyer/consulter des emails.
    apt-get install -y ssmtp mailutils mpack
  3. Configurer sSMTP en éditant le fichier /etc/ssmtp/ssmtp.conf. Ajoutez les lignes suivantes à la fin du fichier
    mailhub=smtp.gmail.com:587
    AuthUser=MY_GMAIL_EMAIL@gmail.com
    AuthPass=PASSWORD
    useSTARTTLS=YES
    useTLS=YES
  4. Vous pouvez avoir besoin de créer un mot de passe spécifique à l’application, le mot de passe Gmail générant une erreur d’authentification 534 :
    Aug 12 09:23:19 squid sSMTP[21051]: Authorization failed (534 5.7.9  https://support.google.com/accounts/answer/185833 i1sm6469057wjq.42 - gsmtp)

    Dans ce cas, rendez-vous sur cette page https://support.google.com/accounts/answer/185833 et en suivant les instructions vous aurez un mot de passe de 16 caractères qui devra remplacer votre mot de passe actuel dans le fichier de configuration /etc/ssmtp/ssmtp.conf

  5. Testez maintenant votre configuration :
    echo "Hello" | mail -s "This is the subject line" MY_GMAIL_EMAIL@gmail.com
  6. Vous pouvez rediriger les mails générés par le système vers une adresse email externe grâce au fichier /etc/aliases. Par exemple, en ajoutant les lignes suivantes dans le fichier
    # /etc/aliases
    www: root
    root: MY_GMAIL_EMAIL@gmail.com

    Les mails générés vers le user www seront redirigés vers le user root qui enverra les emails vers votre adresse externe Gmail.

  7. Enfin dernière option si vous souhaitez un nom « lisible » comme source de vos emails, pensez à utiliser la commande chan pour changer le nom qui sera affiché :
    chfn -f "My display name" root

Vous pouvez maintenant envoyer simplement et rapidement des emails grâce aux SMTP de Gmail

Vous aimerez aussi...

  • Pingback: Envoyer un email depuis votre Raspberry Pi | Samuel Le Tonqueze()

  • Pepper

    salut, merci pour ton tuto!!
    j’ai essayer la ligne écho et tout fonctionne, nickel, merci.

    seulement, j’arrive toujours pas à recevoir des notifications alerte via email avec ce code python :
    https://github.com/rllynch/pi_garage_alert/blob/master/etc/pi_garage_alert_config.py

    Can you help my? Thx !!

  • Rivandemo

    Bonjour,

    Merci pour ce tuto, il m’a beaucoup aidé!
    J’ai cependant un petit souci car je souhaite utiliser un mot de passe d’application avec gmail et je ne sais pas comment nommer mon application dans Google. J’ai écrit un script Python que je lance par « python3.4 ./monScript.py »
    à partir d’un Raspberry PI. Dans l’écran Google je dois spécifier le nom d’une application et celui de l’appareil avant d’obtenir ce MDP d’appli. Pouvez-vous me dire à quoi ressemblent ces noms dans mon cas?

    Un grand merci!
    Richard

  • Rivandemo

    Re-bonjour,

    J’ai finalement trouvé ceci en ce qui concerne la génération de mot de passe d’application chez Google:
    – Google permet d’ajouter soit un appareil soit une application personnalisé (l’un ou l’autre)
    – Le nom de l’appareil est le « hostname » de l’appareil (dans mon cas, je l’ai modifié à la fois dans /etc/hostname et dans /etc/hosts avant de rebooter mon Raspberry
    – Je n’ai pas encore essayé d’ajouter une application, cependant j’ai installé « supervisor » (sudo apt-get install supervisor) et configuré mon application en lui donnant un nom de process et je suppose que c’est ce nom de process-là qu’il faudrait utiliser dans Google pour générer le MDP de cette application (à vérifier)

    En tout cas, mon script python, dans lequel j’ai introduit le MDP d’application généré par Google, envoie des mails via mon compte gmail qui a maintenant l’option « validation en deux étapes » activée.

    Ceci dit mon application se lance toute seule au démarrage grâce à supervisor et probablement qu’elle redémarrera si jamais il arrivait qu’elle s’arrête (autostart=true et autorestart=true sont configurés dans supervisord.conf).
    Mon Raspberry démarre sans écran et je peux l’accéder à distance via vnc-viewer sur mon Mac et à « tightvncserver » qui démarre automatiquement au boot du Raspberry grâce à une commande insérée dans /etc/rc.local (j’ai ajouté les arguments « -geometry 1280×800 -depth 8 » à la ligne de commande de tightvncserver dans rc.local, mais je devrai peut-être réduire les dimensions de l’écran si cela mange trop de bande passante).

    J’espère que cela pourra servir à d’autres.
    Bonnes fêtes à tous,
    Richard