
# Problèmes d'envoi de courriers électroniques

ScoDoc envoie des mails (emails, ou e-mails, ou courriels) en plusieurs
occasions (bulletins de notes, importation d'utilisateurs, alertes sur absences,
exceptions dans le code).

Cette page explique ce qu'il faut vérifier si l'envoi des messages ne fonctionne
pas.

## Configuration du serveur

ScoDoc suppose que la machine serveur sur laquelle il s'exécute est dotée d'un
serveur de mail capable d'envoyer des messages (soit directement, soit via un
relais). L'installeur propose d'installer le logiciel serveur Postfix.


 1. Vérifier que votre serveur de messagerie est bien configuré: dans un
    terminal, envoyez un message 

```bash
mail mon_adresse@universite.fr
... entrer votre texte, terminez par ctrl-d ...
```
Si vous ne recevez pas le message que vous vous envoyiez, revoir la
configuration de votre serveur, par exemple avec la commande

```bash
dpkg-reconfigure postfix
```

 2. Vérifiez que le serveur SMTP écoute bien en local sur le port 25: dans un terminal taper

```text
  telnet localhost 25
```

Vous devez observer:

```text
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 nom_du_serveur ESMTP Postfix (Debian/GNU)
```

(quitter avec ctrl-] puis `quit`)

## Tests avec ScoDoc

Une fois que le mail, fonctionne, passer au test de ScoDoc: créer un étudiant
bidon, lui attribuer une adresse mail que vous pouvez lire, l'inscrire à un
semestre, et lui envoyer son bulletin par mail. (sur la page web de son
bulletin, petit menu "Autres opérations").

À ce moment, regarder le log
`/opt/scodoc-data/log/scodoc.log`

On devrait voir quelque chose ressemblant à:
```
[Sun Sep 07 11:37:40 2008] mail bulletin a emmanuel.viennet@gmail.com
[Sun Sep 07 11:37:40 2008] sendEmail: ok
```

Et d'autre part dans le log de postfix (`/var/log/mail.log`)

```
Sep  7 11:37:42 xxxxxxxx postfix/smtp[31240]: ED1F62BAB22:
to=<emmanuel.viennet@xxxx.fr>, relay=gmail-smtp-in.l.google.com[209.85.135.27]:25, delay=1.5,
delays=0.03/0/0.41/1, dsn=2.0.0, status=sent (250 2.0.0 OK 1220942550 y2si22647061mug.2)
```

Cela devrait permettre de savoir:

 1. si ScoDoc tente d'envoyer un mail (`/opt/scodoc-data/log/scodoc.log`);

 2. si le serveur SMTP arrive à traiter ce mail.

## Redirection des tous les mails de ScoDoc

Afin de vérifier les envois de mail, il peut être pratique de détourner tous les
envois vers une adresse (cela permet par exemple de tester les envois de
notification ou de bulletins sans déranger les étudiants ou les collègues).

Pour cela, aller sur la page *Paramétrage*, tout en bas, et indiquer une
*Adresse de test*. Ne pas oublier de l'enlever une fois les essais effectués !

!!! note "Voir aussi"
    
    - Pour la configuration des messages envoyés par ScoDoc, la page [Configuration des envois d'emails](ConfigEmail.md)
    - [Guide administrateur ScoDoc](GuideAdminSys.md)
    - [Contacts](Contact.md)
