Comment faire pour que mon compte @gmail soit envoyé à cron par e-mail

41

J'ai quelques travaux cron qui génèrent parfois des erreurs et souhaitent recevoir une notification dans mon compte "réel", car je n'utilise pas la boîte aux lettres de mon utilisateur dans mon ordinateur portable Ubuntu, mais cron (ou s'agit-il peut-être de postfix) continue d'essayer d'envoyer un courriel au compte root local.

Je sais que je peux ajouter la variable MAILTO à la crontab:

ricardo@ricardo-laptop:~$ sudo crontab -l
[email protected]
# m h  dom mon dow   command
*/5 * * * * /home/ricardo/mrtg/cfg/run.sh

Mais il ne semble pas y prêter attention

J'ai aussi essayé d'ajouter mon email au /etc/aliasesfichier et de courirnewaliases

ricardo@ricardo-laptop:~$ cat /etc/aliases
# See man 5 aliases for format
postmaster:    root
root:          [email protected]
ricardo:       [email protected]

Néanmoins, chaque fois que cron veut envoyer un email, il l’envoie toujours à [email protected]:

ricardo@ricardo-laptop:/var/log$ tail mail.log
Aug  3 16:25:01 ricardo-laptop postfix/pickup[2002]: D985B310: uid=0 from=<root>
Aug  3 16:25:01 ricardo-laptop postfix/cleanup[4117]: D985B310: message-id=<20100803192501.D985B310@ricardo-laptop>
Aug  3 16:25:01 ricardo-laptop postfix/qmgr[2003]: D985B310: from=<[email protected]>, size=762, nrcpt=1 (queue active)
Aug  3 16:25:03 ricardo-laptop postfix/smtp[4120]: D985B310: to=<[email protected]>, orig_to=<root>, relay=smtp.gmail.com[74.125.157.109]:25, delay=1.5, delays=0.38/0.02/0.9/0.18, dsn=5.7.0, status=bounced (host smtp.gmail.com[74.125.157.109] said: 530 5.7.0 Must issue a STARTTLS command first. d1sm12275173anc.19 (in reply to MAIL FROM command))

Aucune suggestion? J'utilise Ubuntu 10.04, avec toutes les mises à jour

Ricardo Reyes
la source

Réponses:

20

Il semblerait que vous ayez configuré smtp.gmail.com comme votre smarthost pour le serveur de messagerie. Vous devez supprimer la configuration de smarthost ou la modifier afin que votre serveur soit capable d'envoyer du courrier au monde extérieur.

La configuration que vous avez maintenant pour le transfert de courrier semble fonctionner, mais échoue car smtp.gmail.com refuse le courrier.

Mise à jour : Pour référence future, le problème était de lister /etc/mailnameun nom qui ne figurait pas dans la mydestinationsliste de postfix. Cela a fait en sorte que tous les courriers soient considérés comme étrangers et que leur /etc/aliasestraitement soit ignoré .

Ressu
la source
J'ignore l'erreur TLS pour l'instant et me concentre sur le fait que la dernière ligne de mail.log dit: postfix / smtp [4120]: D985B310: to = <[email protected] .ar> donc cron essaie toujours d'envoyer un courriel à mon compte root au lieu de mon compte gmail. J'avais peur que laisser la réponse de gmail à la question soit source de confusion, mais je ne voulais pas trop le changer pour que je ne perde pas de valeur. information. Je vais essayer de corriger l'erreur TLS maintenant, mais je suis convaincu que cela ne devrait pas être lié à un problème de destination erroné
Ricardo Reyes
Pourriez-vous inclure votre main.cf pour postfix. Je suppose que votre instance postfixe pense que le courrier n’est pas local pour commencer, seul le courrier local est affecté par le fichier aliases
Ressu
Voici mon postfix.cfg: cl1p.net/postfix J'ai essayé de supprimer l'option smarthost, mais cela n'a changé que le message d'erreur de Gmail, car mon adresse IP ne se résout pas correctement. Gardez à l'esprit que ce n'est pas un serveur, c'est juste mon ordinateur portable personnel et les seuls courriels que je dois envoyer sont les alertes cron, vers mon propre compte gmail. Merci.
Ricardo Reyes
1
Hmm .. votre / etc / mailname contient-il votre nom d'hôte? pour une raison quelconque, postfix semble penser qu'il s'appelle 144-68-247-190.fibertel.com.ar au lieu de ricardo-laptop. Aussi, que dit la hostnamecommande?
Ressu
Postfix doit être configuré comme un serveur de messagerie complet, et non comme un satellite vers Gmail. Sinon, il y aura un problème d'authentification car l'expéditeur n'est pas un utilisateur pour Gmail.
Txwikinger
1

Solution extraite de la question

(merci à Ressu )

Le problème était avec le fichier /etc/mailname

Ce fichier a été créé par le programme d'installation Ubuntu et contenait un nom de serveur incorrect. Une fois que j'ai changé pour correspondre à "ricardo-laptop" postfix s'est rendu compte que les emails étaient destinés à la livraison locale et a commencé à suivre les pseudonymes

guntbert
la source
0

Je pensais ajouter pour les personnes qui découvrent cela comme je l'ai fait. Une alternative simple si vous souhaitez que tous vos messages soient enregistrés à partir de votre compte root consiste à exécuter cette commande:

sudo nano ~ / .forward

Vous pouvez ensuite mettre un seul email ou en séparer plusieurs par des virgules. Tous les courriers électroniques racine (en supposant que vous utilisiez la racine) seront alors redirigés vers la ou les adresses électroniques de ce fichier.

Une fois que vous avez ajouté les emails, appuyez sur Ctrl + X puis sur Y pour enregistrer les modifications.

Phil Young
la source
Cela met un fichier dans la maison de mon utilisateur cependant, pas root?
endolith
@endolith: Correct. Vous voudrez peut-être à la sudo nan ~root/.forwardplace.
Flimm
1
mais vous utilisez sudo pour créer un fichier dans la maison de l'utilisateur?
endolith