Mailbox affiche le nom de l'expéditeur sous la forme "Apache", car le courrier envoyé automatiquement est envoyé à partir d'un programme CGI Perl. Comment puis-je le changer pour autre chose?
Vous devez simplement ajouter un en-tête From:
. Par défaut, il n'y en a pas.
echo "Test" | mail -a "From: Someone <[email protected]>" [email protected]
Vous pouvez ajouter des en-têtes personnalisés à l'aide de -a
:
echo "Test" | mail -a "From: Someone <[email protected]>" \
-a "Subject: This is a test" \
-a "X-Custom-Header: yes" [email protected]
mail -s "$(echo -e "This is the subject\nFrom: Paula <[email protected]>\n
Reply-to: [email protected]\nContent-Type: text/html\n")"
[email protected] < htmlFileMessage.txt
ce qui précède est ma solution. Il suffit de remplacer "Paula" par le nom de votre choix. Par exemple, Johny Bravo..Tous en-têtes supplémentaires peuvent être ajoutés juste après et avant la réponse à ... assurez-vous de connaître la syntaxe de votre en-tête avant. en les ajoutant .... cela a parfaitement fonctionné pour moi.
Vous pouvez utiliser l'option "-r" pour définir l'adresse de l'expéditeur:
mail -r [email protected] -s ...
Si vous souhaitez également inclure votre vrai nom dans le champ from, vous pouvez utiliser le format suivant:
mail -r "[email protected] (My Name)" -s "My Subject" ...
Si aucun en-tête De: n'est spécifié dans les en-têtes de courrier électronique, le MTA utilise le nom complet de l'utilisateur actuel, dans le cas présent "Apache". Vous pouvez éditer les noms d'utilisateur complets dans/etc/passwd
Cela dépend de l'adresse de l'expéditeur dont vous parlez. L'adresse de l'expéditeur visible dans le programme de messagerie du destinataire est extraite de l'en-tête "De:". qui peut probablement être facilement défini à partir de votre programme.
Si vous parlez de l'adresse de l'expéditeur de l'enveloppe SMTP, vous pouvez passer l'argument -f au binaire sendmail. En fonction de la configuration du serveur, il se peut que vous ne soyez pas autorisé à le faire avec l'utilisateur Apache.
depuis le sendmail manpage :
-f <address>
This option sets the address of the envelope sender of a
locally-generated message (also known as the return path).
The option can normally be used only by a trusted user, but
untrusted_set_sender can be set to allow untrusted users to
use it. [...]
Sur Ubuntu 14.04, aucune de ces suggestions n’a fonctionné. Postfix se substituerait à l'utilisateur système connecté en tant qu'expéditeur. Ce qui a bien fonctionné a été la solution suivante répertoriée sur ce lien -> Modifier l'adresse de messagerie sortante à partir de root @ nom_serveur - rackspace sendgrid postfix
PAS:
1) Assurez-vous que ceci est défini dans /etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
2) echo 'www-data [email protected]' >>/etc/postfix/generic
3) Sudo postmap/etc/postfix/generic
4) redémarrage postfix du service Sudo