web-dev-qa-db-fra.com

Spécifiez l'utilisateur de départ lorsque vous envoyez un courrier électronique à l'aide de la commande mail

Est-ce que quelqu'un sait comment changer d'utilisateur depuis l'envoi d'un email en utilisant la commande mail? J'ai parcouru la page de manuel et je ne vois pas comment faire cela. 

Nous utilisons Redhat Linux 5.

53
Joel Cunningham

http://www.mindspill.org/962 semble avoir une solution.

Essentiellement:

echo "This is the main body of the mail" | mail -s "Subject of the Email" [email protected] -- -f [email protected]

27
Paolo Bergantino

Vous pouvez spécifier n'importe quel en-tête supplémentaire dont vous pourriez avoir besoin avec -a

$mail -s "Some random subject" -a "From: [email protected]" [email protected]
66
daniels

mail -r [email protected] -R [email protected]

-r = de-addr - R = répondre-à addr

L'auteur a indiqué que sa version du courrier ne supportait pas ce drapeau. Mais si vous avez une version qui fonctionne, cela fonctionne bien.

20
bfabry

Lors de l'envoi via SMTP, la page de manuel mail recommande de définir la variable from de la manière suivante (testé sur CentOS 6):

mail -s Subject -S [email protected] [email protected]

Vous pouvez également joindre un fichier en utilisant l'option -a:

mail -s Subject -S [email protected] -a path_to_attachement [email protected]
15
G.J

Aucun de ceux-ci n'a fonctionné pour moi (Ubuntu 12.04) mais finalement, avec essais et erreurs, j'ai obtenu:

echo 'my message blabla\nSecond line (optional of course)' | 
mail -s "Your message title"
-r 'Your full name<[email protected]>'
-Sreplyto="[email protected]"
[email protected][,[email protected]]

(tout en une ligne, il n'y a pas d'espace dans "-Sreplyto")

J'ai reçu cette commande mail de:

apt-get install mailutils
5
Le Droid

Vous pouvez ajouter des options sendmail à la fin de la commande mail en ajoutant d'abord -. -f est la commande sur sendmail pour définir l'adresse de départ. Donc, vous pouvez faire ceci:

mail [email protected] - -f [email protected]

3
Gerald

Aucun de ce qui précède n'a fonctionné pour moi. Et cela m'a pris longtemps pour le comprendre, j'espère que cela aidera le prochain gars.

J'utilise Ubuntu 12.04 LTS avec mailutils v2.1.

J'ai trouvé cette solution quelque part sur le net, je ne sais pas où, je ne le trouve plus:

-aFrom:[email protected]

Commande complète utilisée:

cat /root/Reports/ServerName-Report-$DATE.txt | mail -s "Server-Name-Report-$DATE" [email protected] -aFrom:[email protected]
2
Hardus

Voici une solution .

La deuxième solution la plus simple après -r (qui consiste à spécifier un en-tête From: et à le séparer du corps par un nouveau trait comme celui-ci

 $mail -s "Subject" [email protected]
 From: Joel <[email protected]>

 Hi!
 .

ne fonctionne que dans quelques versions de courrier, ne sait pas quelle version de redhat porte).

PS: La plupart des versions du courrier sont nulles!

2
Vinko Vrsalovic
echo "This is the main body of the mail" | mail -s "Subject of the Email" [email protected] -- -f [email protected] -F "Elvis Presley"

ou

echo "This is the main body of the mail" | mail -s "Subject of the Email" [email protected] -aFrom:"Elvis Presley<[email protected]>"
1

La plupart des gens doivent modifier deux valeurs lorsqu'ils tentent de forger correctement l'adresse d'expéditeur dans un courrier électronique. Le premier est l'adresse de départ et le second est l'adresse d'origine. La plupart des solutions proposées en ligne ne modifient qu'une de ces valeurs.

Si, en tant qu'utilisateur root, j'essaie avec une simple commande mail de m'envoyer un email qui pourrait ressembler à ceci: . echo "test" | mail -s "a test" [email protected]

Et les journaux associés: Feb 6 09:02:51 myserver postfix/qmgr[28875]: B10322269D: from=<[email protected]>, size=437, nrcpt=1 (queue active) Feb 6 09:02:52 myserver postfix/smtp[19848]: B10322269D: to=<[email protected]>, relay=myMTA[x.x.x.x]:25, delay=0.34, delays=0.1/0/0.11/0.13, dsn=2.0.0, status=sent (250 Ok 0000014b5f678593-a0e399ef-a801-4655-ad6b-19864a220f38-000000)

Essayer de changer l'adresse d'expéditeur avec - echo "test" | mail -s "a test" [email protected] -- [email protected]

Ceci modifie la valeur origin-to mais pas la valeur from: Feb 6 09:09:09 myserver postfix/qmgr[28875]: 6BD362269D: from=<[email protected]>, size=474, nrcpt=2 (queue active) Feb 6 09:09:09 myserver postfix/smtp[20505]: 6BD362269D: to=<me@noone>, orig_to=<[email protected]>, relay=myMTA[x.x.x.x]:25, delay=0.31, delays=0.06/0/0.09/0.15, dsn=2.0.0, status=sent (250 Ok 0000014b5f6d48e2-a98b70be-fb02-44e0-8eb3-e4f5b1820265-000000)

Ensuite, essayez avec un -r et un - pour ajuster le code de départ et d'origine à . echo "test" | mail -s "a test" -r [email protected] [email protected] -- [email protected]

Et les journaux: Feb 6 09:17:11 myserver postfix/qmgr[28875]: E3B972264C: from=<[email protected]>, size=459, nrcpt=2 (queue active) Feb 6 09:17:11 myserver postfix/smtp[21559]: E3B972264C: to=<[email protected]>, orig_to=<[email protected]>, relay=myMTA[x.x.x.x]:25, delay=1.1, delays=0.56/0.24/0.11/0.17, dsn=2.0.0, status=sent (250 Ok 0000014b5f74a2c0-c06709f0-4e8d-4d7e-9abf-dbcea2bee2ea-000000)

C'est comme ça que ça marche pour moi. J'espère que ça aide quelqu'un.

1
Jerad

Cela fonctionne sur Centos7

echo "This is the main body of the mail" | mail -s "Subject of the Email" -r [email protected] [email protected]

1
Santiago Trias

Voici une réponse de 2018, sur Debian 9.

Notez que -e pour que echo autorise les caractères de nouvelle ligne et -r pour que mailx affiche un nom avec une adresse électronique sortante:

$ echo -e "testing email via yourisp.com from command line\n\nsent on: $(date)" | mailx -r "Foghorn Leghorn <[email protected]>" -s "test cli email $(date)" -- [email protected]

J'espère que cela t'aides!

1
woohoo

sur CentOs5: -r [email protected]

0
fun_vit

Merci à tous les exemples de fournisseurs, certains ont travaillé pour certains non . Voici un autre exemple de format simple qui a fonctionné pour moi.

echo "Sample body" | mail -s "Test email" [email protected] [email protected]
0
ayon