Il est important de se pré-occuper d'utiliser un expéditeur valide pour les envois d'emails, sachant qu'il y a 2 expéditeurs :
* l'expéditeur d'enveloppe (appelé aussi *Return-Path*) : c'est cette adresse qui recevra les erreurs NPAI (N'habite Pas à l'Adresse Indiquée), etc.)
* l'expéditeur d'entête : c'est cette adresse qui sera visible par le destinataire final
Voici nos recommandations :
1. Utiliser une adresse d'expéditeur d'enveloppe identique à celle d'expéditeur d'entête
2. Utiliser une adresse personnalisée du type facteur@example.com avec un domaine que vous gérez bien sûr
3. Avoir un enregistrement SPF qui autorise l'envoi depuis le serveur d'envoi
4. Traiter réactivement (automatiquement si possible) les erreurs du type NPAI (N'habite Pas à l'Adresse Indiquée) en arrêtant immédiatemment l'envoi vers les adresses concernées
### Comment faire pour régler les expéditeurs d'enveloppe et d'entête
Cela dépend des langages. En PHP, la fonction *mail()* ne permet PAS de régler l'expéditeur d'enveloppe, on conseille d'utiliser la bibliothèque [PHPMailer](https://github.com/PHPMailer/PHPMailer). Il peut également être possible de forcer l'expéditeur d'enveloppe dans la configuration PHP via la directive *sendmail_path* forcée à "/usr/sbin/sendmail -t -i -f facteur@example.com" par exemple, mais c'est moins pratique.
Depuis PHP >=5.5.0, le langage s'est doté de fonctions haut niveau pour la manipulation de mot de passe. Ainsi, on a `password_hash()` qui va s'occuper du hachage du mot de passe (algo, sel, difficulté) et `password_verify()` pour la vérification.
Si on souhaite générer un mot de passe en CLI, on peut utiliser `mkpasswd -m sha-512` en CLI pour générer des hashés. (Ou tout autre outil cli similaire)