Aller au contenu

Ou Vont Les Messages De Cron?


cly

Messages recommandés

Bonsoir,

Je souhaite utiliser cron pour automatiser des taches, mais je ne trouve pas ou partent les messages generes?

J'ai installe esmtp et procmail, et /opt/etc/esmtprc contient


/mda "/opt/bin/procmail -d %T"

/opt/var/spool/mail/ est vide. Pour tester, j'ai mis ca dans /etc/crontab:
0,15,30,45	*	*	*	*	root	/bin/echo hello

Est-ce que le package cron installe par defaut n'envoie pas stdout/stderr par mail a l'utilisateur?

Dois-je remplacer le package cron?

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Certes c'est une solution, mais cron est cense envoyer ses messages par mail, je suis donc surpris de n'en voir aucune trace...

le cron du syno est un demi-cron.

il ne semble pas g

Lien vers le commentaire
Partager sur d’autres sites

C'est perturbant, ca :-)

Bon je suis tenace, j'ai installe le package cron "4.1-7 - Standard vixie cron, with cron.d addition", et cree une crontab pour root:

MAILTO=root

* * * * * echo toutou

* * * * * echo coucou >> /var/log/toto
Evidemment, le fichier /var/log/toto grossit, par contre rien dans /var/spool/mail et /opt/var/spool/mail Pour info /opt/etc/crontab contient

MAILTO=""

mais je pense que c'est override par la crontab utilisateur (cf ci-dessus)

Est-ce que cette version de cron est speciale aussi?

ou bien est-ce la config de esmtp qui pose probleme?

pour le savoir, envoie un mail en ligne de commande (avec nail ou mutt, ou même sendmail).

es-tu sûr que root est redirigé ? (voir les aliases de postfix)

sûr que MAILTO="" n'envoie pas de mail (man 5 crontab pour les explications, mais pas sur le syno ;) )

Je n'ai pas (encore) testé le cron d'ipkg, j'attends que tu le fasses ;)

mais je pense qu'il est normal et que c'est plutôt ta conf de courrier qui m.....

pourquoi esmtp ? tu n'as pas installé mailstation ?

regarde si tu as un fichier dead.letter (mails non envoyés)

Lien vers le commentaire
Partager sur d’autres sites

Apres encore un peu de recherches, j'ai reussi !!!

Donc apres quelques coups sauvages de grep dans les binaires (pas encore installe strings), j'ai trouve des choses interessantes.

grep mail /opt/sbin/crontab
, j'ai vu
/usr/sbin/sendmail
Or sendmail, fourni par le paquet esmtp est dans
/opt/sbin/sendmail
Un ptit coup de
ln -s /opt/sbin/sendmail /usr/sbin/sendmail
et le pb de l'acheminement du mail etait resolu! (le mail va dans /opt/var/spool/mail) Ensuite,
nail
continuait a me dire que je ne n'avais pas de mail.
grep mail /opt/bin/nail | grep / 
donne
/var/mail
. La encore,
ln -s /opt/var/spool/mail /var/mail

a retabli la situation.

Ma conclusion est qu'il y a de petits bugs de config des paquets nail et estmp.

Comment fait-on pour les signaler?

Lien vers le commentaire
Partager sur d’autres sites

Apres encore un peu de recherches, j'ai reussi !!!

Donc apres quelques coups sauvages de grep dans les binaires (pas encore installe strings), j'ai trouve des choses interessantes.

grep mail /opt/sbin/crontab
, j'ai vu
/usr/sbin/sendmail
Or sendmail, fourni par le paquet esmtp est dans
/opt/sbin/sendmail
Un ptit coup de
ln -s /opt/sbin/sendmail /usr/sbin/sendmail
et le pb de l'acheminement du mail etait resolu! (le mail va dans /opt/var/spool/mail) Ensuite,
nail
continuait a me dire que je ne n'avais pas de mail.
grep mail /opt/bin/nail | grep / 
donne
/var/mail
. La encore,
ln -s /opt/var/spool/mail /var/mail

a retabli la situation.

Ma conclusion est qu'il y a de petits bugs de config des paquets nail et estmp.

Comment fait-on pour les signaler?

excellent, tout

Lien vers le commentaire
Partager sur d’autres sites

excellent, tout ça !

Oui, en effet, il y a des petits bugs de conf (ça me parait quand même pas terrible de coder en dur les chemins dans les binaires :( )

http://www.nslu2-linux.org/wiki/Optware/Packages te dit :

"Found A Bug?

OK Je vais regarder ca.

Ca devient un peu off-topic, mais j'ai continue a jouer avec tout ca...

Si je faisais

nail root
, aucun mail n'arrivait, c'est a dire que nail n'etait pas capable d'expedier un mail (jusqu'a present, on avait juste teste sa capacite a lire un mail achemine par esmtp(aka sendmail)/procmail). Je n'avais pas fait attention que lors de l'installation de nail, j'avais le message
Usage of sendmail is disabled in this version of nail due to missing

sendmail-package. nail is capable of using SMTP, read

http://nail.sourceforge.net/man/nail.1.html

to learn more about its usage.

alors meme que esmtp est installe, et est capable de se substituer a sendmail dans les cas simples. (c'est peut-etre un bug du package nail, ou de esmtp, a verifier....) Ceci explique que nail n'est donc pas capable d'appeler le sendmail installe localement, meme pour envoyer du mail local. Par contre, si dans /opt/etc/nail.rc, je rajoute

set smtp=smtp://smtp.free.fr

set from="nom.que.je.veux@free.fr"

alors nail est capable de se connecter au serveur SMTP de Free, mais ne pourra bien sur pas acheminer ainsi des mails locaux. Mais ca marche pour envoyer des mails a l'exterieur! (il est important de forcer le champ from avec une adresse externe, sous peine de rejet par le serveur SMTP) Les mails recus a l'exterieur paraissent venir de
"nom.que.je.veux@free.fr <nom.que.je.veux@free.fr>"
Ensuite, j'ai essaye mutt, qui est plus evolue que nail. Par defaut, il est capable d'envoyer du mail localement, en appelant sendmail (esmtp dans mon cas). Cela fonctionne grace a la directive "mda" dans la config de esmtp (/opt/etc/esmtprc). Mais esmtp est egalement capable de se connecter a un serveur SMTP pour les mails vers l'exterieur, il suffit d'ajouter dans /opt/etc/esmtprc:

hostname smtp.free.fr:25

(il est important de preciser 25 dans le cas de Free, sinon il tente de se connecter au port 587, ce qui est apparemment dicte par la RFC 2476, mais pas gere par Free dirait-on) Ensuite, il faut expliquer a mutt qu'il doit utiliser une adresse de type xxx@free.fr dans le champ from, lors de la discussion avec le serveur SMTP de Free, sous peine de rejet du mail. Cela s'obtient ainsi:

set use_from=yes

set from=xxx@free.fr

set use_envelope_from=yes

set envelope_from_address=xxx@free.fr

Je n'ai pas compris pourquoi les 2 champs doivent etre forces, mais un seul ne suffit pas. Cette fois-ci, les mails paraissent venir de
root <xxx@free.fr>

ce qui est un peu moins joli qu'avec nail. Je n'ai pas encore trouve comment ameliorer cela.

Le bilan de tout ca est qu'on peut envoyer des mails locaux et externes, et lire les mails locaux en installant que des petits packages, et sans se lancer dans la config d'un vrai serveur de mail.

En resume:

- install de cron, esmtp, procmail, nail, eventuellement mutt

- cron est alors capable d'envoyer des mails aux utilisateurs locaux (fonctionnement standard de cron, pour l'envoi des messages de stdout/stderr)

- par contre, utiliser MAILTO=xxx@free.fr dans la crontab ne fonctionne pas

- nail/mutt sont capables de lire les mails locaux

Pour l'envoi de mail, c'est un peu plus complique:

- nail ne peut pas envoyer de mail vers des utilisateurs locaux, mais peut envoyer des mails a l'exterieur via un serveur SMTP externe

- mutt est capable d'envoyer des mails locaux et externes via un serveur SMTP

En esperant que ca serve a quelqu'un d'autre que moi.... :rolleyes:

Lien vers le commentaire
Partager sur d’autres sites

OK Je vais regarder ca.

Ca devient un peu off-topic, mais j'ai continue a jouer avec tout ca...

Si je faisais

nail root
, aucun mail n'arrivait, c'est a dire que nail n'etait pas capable d'expedier un mail (jusqu'a present, on avait juste teste sa capacite a lire un mail achemine par esmtp(aka sendmail)/procmail). Je n'avais pas fait attention que lors de l'installation de nail, j'avais le message
Usage of sendmail is disabled in this version of nail due to missing

sendmail-package. nail is capable of using SMTP, read

http://nail.sourceforge.net/man/nail.1.html

to learn more about its usage.

alors meme que esmtp est installe, et est capable de se substituer a sendmail dans les cas simples. (c'est peut-etre un bug du package nail, ou de esmtp, a verifier....) Ceci explique que nail n'est donc pas capable d'appeler le sendmail installe localement, meme pour envoyer du mail local. Par contre, si dans /opt/etc/nail.rc, je rajoute

set smtp=smtp://smtp.free.fr

set from="nom.que.je.veux@free.fr"

alors nail est capable de se connecter au serveur SMTP de Free, mais ne pourra bien sur pas acheminer ainsi des mails locaux. Mais ca marche pour envoyer des mails a l'exterieur! (il est important de forcer le champ from avec une adresse externe, sous peine de rejet par le serveur SMTP) Les mails recus a l'exterieur paraissent venir de
"nom.que.je.veux@free.fr <nom.que.je.veux@free.fr>"
Ensuite, j'ai essaye mutt, qui est plus evolue que nail. Par defaut, il est capable d'envoyer du mail localement, en appelant sendmail (esmtp dans mon cas). Cela fonctionne grace a la directive "mda" dans la config de esmtp (/opt/etc/esmtprc). Mais esmtp est egalement capable de se connecter a un serveur SMTP pour les mails vers l'exterieur, il suffit d'ajouter dans /opt/etc/esmtprc:

hostname smtp.free.fr:25

(il est important de preciser 25 dans le cas de Free, sinon il tente de se connecter au port 587, ce qui est apparemment dicte par la RFC 2476, mais pas gere par Free dirait-on) Ensuite, il faut expliquer a mutt qu'il doit utiliser une adresse de type xxx@free.fr dans le champ from, lors de la discussion avec le serveur SMTP de Free, sous peine de rejet du mail. Cela s'obtient ainsi:

set use_from=yes

set from=xxx@free.fr

set use_envelope_from=yes

set envelope_from_address=xxx@free.fr

Je n'ai pas compris pourquoi les 2 champs doivent etre forces, mais un seul ne suffit pas. Cette fois-ci, les mails paraissent venir de
root <xxx@free.fr>
ce qui est un peu moins joli qu'avec nail. Je n'ai pas encore trouve comment ameliorer cela. Le bilan de tout ca est qu'on peut envoyer des mails locaux et externes, et lire les mails locaux en installant que des petits packages, et sans se lancer dans la config d'un vrai serveur de mail. En resume: - install de cron, esmtp, procmail, nail, eventuellement mutt - cron est alors capable d'envoyer des mails aux utilisateurs locaux (fonctionnement standard de cron, pour l'envoi des messages de stdout/stderr) - par contre, utiliser MAILTO=xxx@free.fr dans la crontab ne fonctionne pas - nail/mutt sont capables de lire les mails locaux Pour l'envoi de mail, c'est un peu plus complique: - nail ne peut pas envoyer de mail vers des utilisateurs locaux, mais peut envoyer des mails a l'exterieur via un serveur SMTP externe - mutt est capable d'envoyer des mails locaux et externes via un serveur SMTP En esperant que ca serve a quelqu'un d'autre que moi.... :rolleyes:
esmtp comme ssmtp et d'autres d'ailleurs ne sont que des faux mta relayant vers un "vrai" serveur smtp. la version nail d'optware a le support de sendmail désactivé, donc il est tout-à-fait inutile d'installer esmtp ou ssmtp dans ce cas, puisque nail utilise déirectement le relay déclaré dans la conf. Il ne peut donc logiquement pas envoyer de mails locaux ! Après avoir constaté tout ça, et parce que, comme tout geek qui se respecte, je tenais à gérer avec mon propre serveur le courrier de mon domaine (en direct mx en plus, donc sans passer par le smtp de mon fai), j'ai installé mailstation (qui installe donc le sendmail de postfix). Ceci dit, le problème des mails locaux n'est résolu que parce que les mails locaux sont ceux du domaine géré par postfix, puisque nail ne sait (toujours pas) utiliser sendmail. Et pour mutt, il faut peut-être aussi ruser car sendmail de mailstation est là : /usr/syno/mailstation/sbin/sendmail mais sur mon syno, lrwxrwxrwx 1 root root 35 Jun 11 22:15 /usr/sbin/sendmail -> /usr/syno/mailstation/sbin/sendmail (mais je ne me souviens plus si c'était comme ça ou si je l'ai rajouté). Donc finalement, pour envoyer des mails à partir de cron (pas ceux de cron !), j'ai écris un petit script perl (Net::SMTP est installé sur le syno). Pour les mails de cron, il faut installer cron d'ipkg, et ça devrait marcher les doigts dans le nez si mailstation est activé (ou au pire, en ajoutant le lien vers sendmail) voilà un message envoyé via mutt :
Return-Path: <root@mondomaine.net>

X-Original-To: user@mondomaine.net

Delivered-To: user@mondomaine.net

Received: by mondomaine.net (Postfix, from userid 0)

	id AD18D7C400C; Fri, 11 Dec 2009 12:19:44 +0100 (CET)

Date: Fri, 11 Dec 2009 12:19:44 +0100

To: user@mondomaine.net

Message-ID: <20091211111944.GA3735@mondomaine.net>

MIME-Version: 1.0

Content-Type: text/plain;

  charset=utf-8

Content-Disposition: inline

User-Agent: Mutt/1.5.17 (2007-11-01)

From: root@mondomaine.net (root)

X-UID: 785


message

Là mutt est configuré pour utiliser le sendmail du syno, avec mon nom de domaine.

Par contre, le message est transmis à dovecot, il ne reste pas dans le spool, je le consulte via imap (mutt sait faire)

Je trouve plus simple (pour résumer) d'installer mailstation + cron que tout ce que tu as fait.

À propos de ta question sur

set use_from=yes

set from=xxx@free.fr

set use_envelope_from=yes

set envelope_from_address=xxx@free.fr

Ça porte sur deux points différents, le from de l'enveloppe et le from du mail. Il me semble qu'avec free, quand seul le from de l'enveloppe est positionné (ou l'inverse, je ne me souviens plus), le message est classifié comme spam et n'arrive pas (quand tu as ton postfix, tu as le message de retour du smtp de free).

En effet, les spammers ne remplissent pas souvent les champs du mail comme il faut (ils utilisent des scripts très basiques le plus souvent, surtout ceux installés sur les zombies), alors qu'un courielleur "normal" aura toujours le from de l'enveloppe et le from du mail à la même valeur.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai essaye de me rendre a l'avis des sages ;)..

J'ai donc vire estmp et postfix d'ipkg et installe mailstation, et cree a la main /usr/sbin/sendmail qui n'existait pas.

Apres quelques essais infructueux avec mutt, je me suis rendu compte qu'il semble plutot chercher /opt/sbin/sendmail, j'ai donc rajoute un autre lien vers le sendmail de mailstation.

Mais voila.... quand j'essaie de m'envoyer un mail sur mon compte @free.fr, je ne recois rien (oui, le port 25 est ouvert en sortie, mais pas en entree, pour l'instant je n'ambitionne pas de recevoir du mail de l'exterieur sur le syno)

(ceci dit ca ne marche pas non plus quand j'essaie de m'envoyer un mail en local avec "mutt root" par exemple)

J'ai essaye sendmail en direct, ca ne marche pas mieux.

Pour la config de MailStation, j'ai juste renseigne mon nom de host (DynDNS - ce n'est pas un nom de domaine), et active SMTP.

J'ai fait un test avec Webmail qui a fonctionne, puis je l'ai desactive.

Qu'est ce que j'ai rate? Je n'ai pas trouve de logs :-(

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai essaye de me rendre a l'avis des sages ;)..

J'ai donc vire estmp et postfix d'ipkg et installe mailstation, et cree a la main /usr/sbin/sendmail qui n'existait pas.

Apres quelques essais infructueux avec mutt, je me suis rendu compte qu'il semble plutot chercher /opt/sbin/sendmail, j'ai donc rajoute un autre lien vers le sendmail de mailstation.

Mais voila.... quand j'essaie de m'envoyer un mail sur mon compte @free.fr, je ne recois rien (oui, le port 25 est ouvert en sortie, mais pas en entree, pour l'instant je n'ambitionne pas de recevoir du mail de l'exterieur sur le syno)

(ceci dit ca ne marche pas non plus quand j'essaie de m'envoyer un mail en local avec "mutt root" par exemple)

J'ai essaye sendmail en direct, ca ne marche pas mieux.

Pour la config de MailStation, j'ai juste renseigne mon nom de host (DynDNS - ce n'est pas un nom de domaine), et active SMTP.

J'ai fait un test avec Webmail qui a fonctionne, puis je l'ai desactive.

Qu'est ce que j'ai rate? Je n'ai pas trouve de logs :-(

root ne peut pas recevoir de messages. tu dois cr

Lien vers le commentaire
Partager sur d’autres sites

Merci pour le tuyau! Je n'avais pas compris que c'etait une obligation, mais juste une suggestion d'apres le commentaire dans le fichier alias.

Bon vla autre chose: le webmail vers l'exterieur ne fonctionne plus. mailq m'apprend que Free m'a temporairement blackliste! (host mx2.free.fr[212.27.42.58] refused to talk to me: 421 Your IP is temporary blacklisted by an anti-troyan rule, retry later and/or visit http://postmaster.free.fr/)

Pourtant je n'ai pas fait enormement d'essais... ils sont susceptibles :-)

et gmail me dit "connection timed out"

C'est pas mon jour!

"La dur

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.