J'utilise SMTP à distance via nullmailer et il faut définir le champ De pour le nom spécifique, mais cron l'a défini comme étant root@my.sweet.server.com.
Comment pourrais-je le changer en quelque chose comme moi@ya.ru?
J'utilise SMTP à distance via nullmailer et il faut définir le champ De pour le nom spécifique, mais cron l'a défini comme étant root@my.sweet.server.com.
Comment pourrais-je le changer en quelque chose comme moi@ya.ru?
Réponses:
Je ne pense pas que vous puissiez changer l'adresse FROM (quelqu'un devrait ajouter une option MAILFROM).
Vous pouvez faire quelque chose comme ceci pour obtenir un résultat similaire:
* * * * * /path/to/script 2>&1 | mail -s "Output of /path/to/script" toaddress@example.com -- -r "fromaddress@example.com" -F"Full Name of sender"
Toutes les sorties sont dirigées vers la commande mail afin que la variable MAILTO ne soit pas utilisée du tout.
L'adresse to doit être définie, mais vous pourrez peut-être utiliser la variable $ MAILTO. Le - définit le reste des options sur sendmail afin que vous puissiez utiliser les options -r et -F.
-s est le sujet
-r est l'adresse de réponse
-F est le nom complet de l'expéditeur (le rend beau dans les clients de messagerie)
Les versions modernes de cron acceptent "MAILFROM = ..." au format crontab. Je vous suggère d'essayer "man 5 crontab". Si elle mentionne MAILFROM, votre version devrait la prendre en charge. La phrase à rechercher se trouve vers la fin du paragraphe traitant de MAILTO et devrait ressembler à ceci:
If MAILFROM is defined (and non-empty), it will be used as the envelope sender address, otherwise, ''root'' will be used.
MAILFROM
dans man 5 crontab
.
cronie
pour remplacer cron
sur Debian / Ubuntu. Ta-daa: MAILFROM
existe:
/ etc / mailname contient la partie du nom de domaine de l'adresse FROM. Si / etc / mailname contient 'somecompany.com', alors cron exécuté pour root aura l'expéditeur sous le nom root@somecompany.com
Vous pouvez définir l'adresse nullmailer à partir de l'adresse via des variables d'environnement ou une ligne de commande. Les arguments de ligne de commande sont -f
et -F
pour l'adresse de l'expéditeur et le nom complet, respectivement.
Généralement, vous pouvez définir des variables d’environnement dans la crontab.
NULLMAILER_USER=webmaster
NULLMAILER_HOST=host.example.com
NULLMAILER_NAME="Mr Cron"
5 0 * * * /usr/local/bin/daily.sh
Pour moi, le moyen le plus simple de changer l'adresse de départ sur un système est de créer un ~/.mailrc
fichier avec un contenu comme celui-ci:
set name="My Full Name"
set from="myrealemail@example.com"
Toutes les mail
commandes qui s'exécutent en tant qu'utilisateur utilisent maintenant ces paramètres.
Voir cette question si vous utilisez Exim:
exim: réécrit l'en-tête "De" dans l'enveloppe "FROM"
Il convient de définir l'adresse "De" sur celle du propriétaire de la tâche cron. Vous pouvez remplacer $header_from:
par votre adresse personnalisée si vous souhaitez la coder en dur.
Une autre alternative simple consiste à utiliser Mutt,
créez un fichier .muttrc dans le répertoire de base de l'utilisateur qui exécute cron avec les éléments suivants
set realname = "Joe User" set from = "utilisateur @ hôte" set use_from = yes
Exécutez un script contenant la commande mutt ou dirigez la commande cron vers mutt pour envoyer un courrier électronique.
Avant que mutt envoie un e-mail, il définira l'en-tête De à partir du fichier .muttrc.
il est envoyé par l'utilisateur @ domaine - l'utilisateur est le nom de connexion sous lequel cron est exécuté - vous devez donc créer un utilisateur "moi" - et exécuter le travail cron en tant qu'utilisateur.
Ensuite, pour changer de domaine, il existe différentes possibilités - il se peut que vous deviez modifier l’entrée du fichier hosts (ou, comme sur ma machine, lorsque je configurais cela - une boîte ubuntu) - changez / etc / mailname - être le domaine dont vous voulez qu'il vienne.