Envoie des fichiers logs via mail

Note suite (completé le 14/10/2017)

Dans Debian exim4 est configuré pour faire du mail local seulement.
quand on veut envoyer à l’exterieur on trouve des erreurs Mailing to remote domains not supported
Pour envoyer des mails à l’extérieur il faut le reconfigurer
https://www.debian.org/releases/stable/i386/ch08s05.html.fr

sudo dpkg-reconfigure exim4-config

option à choisir :

courrier envoyé par une machine relais (smarthost)
Dans ce scénario, le courrier sortant est envoyé à une autre machine, appelé le smarthost qui expédie le courrier à sa destination. Cette machine relais garde les courriels qui vous sont adressés et vous permet de ne pas être constamment connecté. Vous devez donc récupérer vos courriels sur cette machine avec des programmes comme fetchmail.

Le plus souvent, le « smarthost » est le serveur de votre fournisseur d’accès à internet.

https://wiki.debian.org/GmailAndExim4
Ce qui donne

La plus importante ci-dessous

cat /etc/exim4/passwd.client
# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp-msa.l.google.com:toto@gmail.com:motdepasse

Sur le compte gmail dans les parametres de sécurité, autoriser l’accès à des applications moins sécurisé

Sinon dans les log /var/log/exim4/mainlog on voit

login authenticator failed H=gmail-smtp-msa.l.google.com [74.125.206.109] 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials

Puis google gèle l’acces au compte depuis la machine émettrice :imp:

2017-10-13 17:28:13 1e31si-0003Pg-ID Frozen (delivery error message)

Enfin dans le log /var/log/exim4/mainlog

quand ça fonctionne

R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com 
.......
.......
Completed

Pour envoyer un mail en ligne de commande

sendmail Emmanuel-M@hotmail.com
essai en ligne de commande depuis Debian
.

On finit par un . pour envoyer le mail

Qurlques commandes en root pour vérifier exim4

listage de la queue

 exim -bp

17h  1.9K 1e31X0-0003IM-CS <> *** frozen ***
          root@localhost.localdomain

17h  1.9K 1e31n0-0003MO-Kn <> *** frozen ***
          root@localhost.localdomain

17h  1.9K 1e31si-0003Pg-ID <> *** frozen ***
          root@localhost.localdomain

Lire le contenu du message par son identifiant

 exim -Mvb 1e31X0-0003IM-CS

supprimer un message de la queue par son identifiant

exim -Mrm 1e31X0-0003IM-CS

Surveiller le journal

tail -f /var/log/exim4/mainlog

2017-10-14 10:23:32 1e31X0-0003IM-CS Message is frozen
2017-10-14 10:23:32 1e31n0-0003MO-Kn Message is frozen
2017-10-14 10:23:32 1e31si-0003Pg-ID Message is frozen
2017-10-14 10:23:32 End queue run: pid=7016
2017-10-14 10:25:54 1e31X0-0003IM-CS removed by root
2017-10-14 10:25:54 1e31X0-0003IM-CS Completed
2017-10-14 10:26:59 1e31n0-0003MO-Kn removed by root
2017-10-14 10:26:59 1e31n0-0003MO-Kn Completed
2017-10-14 10:27:42 1e31si-0003Pg-ID removed by root
2017-10-14 10:27:42 1e31si-0003Pg-ID Completed

Conclusion:

  • Pour envoyer un mail à l’exterieur depuis Debian, il n’est pas obligatoire d’utiliser postfix, on peut le faire avec exim4.
  • Si on a des difficultés d’utilisation du smtp de son FAI, on peut utiliser un compte gmail.
  • Dans les applications, il suffit généralement de positionner MailTo = dans le fichier de configuration. (exemple: MailTo = toto@gmail.com pour l’extérieur ou MailTo = root@localhost pour le mail local) .
  • Pour le mail local il faut définir un alias entre root et son utilisateur ordinaire dans le fichier /etc/aliases ( exemple root: toto )