Vous avez peut être déjà eu le cas d’un programme en bash qui envoie des emails via la fonction mail et vous avez défini votre hostname avec un nom spécial pour votre réseau du style serveurHp1
Quand votre utilisateur lance un mail, il y a donc un from du type utilisateur@serveurHp1
Évidemment, beaucoup de serveurs mail vont le refuser !! En effet, il est impossible de résoudre serveurHp1 …
Alors comment modifier ce mail from ?
Fonction Mail
Si c’est votre script, vous pouvez utiliser la fonction mail en modifiant ses attributs.
export REPLYTO=reponse@mondomaine.com
echo $MonCorpsdeMessage | mail -aFrom:email@mondomaine.com -s 'Sujet' destinataire@email.com
Décryptons :
En premier lieu, on peut définir avec le export une adresse différente pour le reply-to/
Ensuite, on pousse le corps du message via la variable $MonCorpsdeMessage.
L’attribut -a permet de modifier le header et donc l’adresse d’envoi (from).
L’attribut -s permet de spécifier le sujet.
Et enfin, nous mettons l’adresse du destinataire ( à noter que si vous envoyez à plusieurs contacts, il suffit de les séparer par une virgule )
Pour plus d’informations reportez vous au man.
man mail
Mais il arrive que cela ne soit pas vos scripts et que vous ne puissiez pas les modifier, alors voici la deuxième méthode :
Postfix
Il suffit de passer par le generic_maps de postfix
rajouter dans /etc/postfix/main.cf :
smtp_generic_maps = hash:/etc/postfix/generic
Il ne reste plus qu’à relier votre utilisateur à votre email
echo 'www-data email@mondomaine.com' >> /etc/postfix/generic
puis on créé la map et relance postfix
postmap /etc/postfix/generic
/etc/init.d/postfix restart
Voilà, ce n’est pas grand chose, mais pour le suivi de vos crons ou de vos robots cette astuce peut vraiment vous aider.