web-dev-qa-db-fra.com

Comment changer l'adresse FROM par défaut pour la commande mail à l'aide de sSMTP?

J'ai installé:

  • Sudo apt-get install ssmtp
  • Sudo apt-get install mailutils

Quand j'utilise la commande:

echo "something" | mail -s "testing email" [email protected]

L'e-mail généré a le champ From défini sur quelque chose comme ceci:

From: "Username" <[email protected]>

Existe-t-il un fichier de configuration ou quelque chose pour lequel je peux changer cette adresse par défaut FROM?

Notez que changer le champ TO est facile, comme expliqué ici: Comment obtenir que ssmtp mappe un utilisateur local sur une adresse électronique pour le champ To: , mais je dois changer le champ FROM par défaut.

Edit: J'ai également besoin de changer l'adresse FROM pour l'émulation sendmail. Dans mon cas, le Cron définit FROM: root et TO: root, que je voudrais changer en adresse email normale.

5
Maris B.

Il est possible de manipuler quelques paramètres dans ssmtp pour autoriser une modification du champ "De" des courriers électroniques:

  1. Il existe un paramètre dans /etc/ssmtp/ssmtp.conf. Par défaut, le système sélectionne l'adresse "De" mais vous pouvez le modifier en décochant la ligne FromLineOverride:

    # Are users allowed to set their own From: address?
    # YES - Allow the user to specify their own From: address
    # NO - Use the system generated From: address
    #FromLineOverride=YES
    

    En "décochant", j'entends supprimer le signe dièse au début de cette ligne.

  2. Il peut y avoir des paramètres dans /etc/ssmtp/revaliases pour autoriser une ligne "De" spécifique de chaque utilisateur. L'exemple donné dans revaliases n'est pas très utile:

    # Example: root:[email protected]:mailhub.your.domain[:port]
    # where [:port] is an optional port number that defaults to 25.
    

    Mais la page de manuel donne un exemple beaucoup plus explicite:

    A reverse  alias  gives  the From: address placed on a user's outgoing
    messages and (optionally) the  mailhub  these  messages  will  be  sent
    through. Example:
    
     root:[email protected]:mail.isp.com
    
    Messages  root  sends  will be identified as from [email protected] and sent
    through mail.isp.com.
    

Personnellement, je n'utilise pas ssmtp mais plutôt msmtp, où la syntaxe permettant de modifier le champ 'De' est beaucoup plus simple et peut être contenue dans le fichier $HOME/.msmtprc:

from [email protected]

ce qui est beaucoup plus facile ...

Références:

4
andrew.46