102 votes

Modifier le champ "from:" de l'adresse dans Unix "mail"

L'envoi d'un message à partir de la ligne de commande Unix à l'aide de mail TO_ADDR résultats dans un e-mail à partir d' $USER@$HOSTNAME. Est-il un moyen de modifier le champ "from:" adresse inséré par l' mail?

Pour le dossier, j'utilise GNU Mailutils 1.1/1.2 sur Ubuntu (mais j'ai vu le même comportement avec Fedora et RHEL).

[MODIFIER]

$ mail -s Test chris@example.org 
Cc: 
De: foo@bar.org

Les tests
.

les rendements

Sujet: Test
À: <chris@example.org>
X-Mailer: mail (GNU Mailutils 1.1)
Message-Id: <E1KdTJj-00025z-RK@localhost>
À partir de: <chris@localhost>
Date: Wed, 10 Sep 2008 13:17:23 -0400

De: foo@bar.org

Les tests

"À Partir de: foo@bar.org" la ligne est la partie du corps du message, ne fait pas partie de l'en-tête.

118voto

cms Points 2500

Dans ma version de mail ( linux Debian 4.0 ) les options suivantes de travail pour le contrôle de la source / répondre adresses

  • l' -un interrupteur, pour les en-têtes supplémentaires à appliquer, la fourniture d'un en-tête De: sur la ligne de commande qui sera ajouté à l'en-tête de courrier sortant
  • l' $REPLYTO variable d'environnement spécifie une Réponse: en-tête

donc la séquence suivante

export REPLYTO=cms-replies@example.com
mail -aFrom:cms-sends@example.com -s 'Testing'

Le résultat, dans mes clients de messagerie, est un mail de cms-sends@example.com les réponses par défaut cms-replies@example.com

42voto

Beau Points 3353

Sur Centos 5.3 je suis capable de faire:

mail -s "Subject" user@address.com -- -f from@address.com < body

La double dash cesse de courrier à partir de l'analyse de l'argument-f et passe ainsi que de sendmail lui-même.

28voto

ubuntu-fanboy Points 61

GNU mailutils "mail" commande de ne pas vous laisser faire cela (au moins). Mais Si vous installez 'heirloom-mailx, son électronique de commande (mailx) a l'option '-r' pour remplacer la valeur par défaut "$USER@$HOSTNAME' de champ.

echo "Hello there" | mail -s "testing" -r sender@company.com recipient@company.com

Fonctionne pour 'mailx", mais pas "mail".

$ ls -l /usr/bin/mail
lrwxrwxrwx 1 root root 22 2010-12-23 08:33 /usr/bin/mail -> /etc/alternatives/mail
$ ls -l /etc/alternatives/mail
lrwxrwxrwx 1 root root 23 2010-12-23 08:33 /etc/alternatives/mail -> /usr/bin/heirloom-mailx

16voto

MoSs Points 91
mail -s "$(echo -e "This is the subject\nFrom: Paula <johny@paula.com>\n
Reply-to: 1232564@yourserver.com\nContent-Type: text/html\n")" 
milas.josh@gmail.com < htmlFileMessage.txt

le ci-dessus est ma solution....tout des en-têtes supplémentaires peuvent être ajoutés juste après le de et avant de répondre à...assurez-vous de connaître vos en-têtes de syntaxe avant de les ajouter....cela a fonctionné parfaitement pour moi.

8voto

artickl Points 51

De Plus, il est bon d'utiliser -F option de spécifier le Nom de l'expéditeur.

Quelque chose comme ceci:

mail -s "$SUBJECT" $MAILTO -- -F $MAILFROM -f ${MAILFROM}@somedomain.com

Ou tout simplement regarder les options disponibles: http://www.courier-mta.org/sendmail.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X