mikael2235 Posté(e) le 14 novembre 2012 Partager Posté(e) le 14 novembre 2012 Bonjour à tous, J'ai fait un script pour envoyer un mail en utilisant Nail. SynologyDs412> vi testmail #!/bin/sh echo "testing" | nail -s "subject" mon_adresse@fai.fr Le script se déroule bien mais pas d'erreur, et je ne reçois pas de mail. Quand je mets directement cette ligne dans le shell, et que je valide, je le reçois bien: echo "testing" | nail -s "subject" mon_adresse@fai.fr Savez vous d'ou cela vient ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 14 novembre 2012 Partager Posté(e) le 14 novembre 2012 (modifié) Comment (dans quel contexte) est invoqué le script? Dans tous les cas, mieux vaut spécifier expliciter explicitement le PATH dans ce dernier: PATH=/bin:/usr/bin:/opt/bin (rien ne te garantit que le PATH sera celui necessaire lorsque le script sera invoqué par une obscure commande lancée dans la crontab ... Modifié le 14 novembre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikael2235 Posté(e) le 14 novembre 2012 Auteur Partager Posté(e) le 14 novembre 2012 En fait, je souhaite placer cette ligne d'envoi de mail, dans un script xpl-mysql-logger, et chaque detection de mon detecteur de fumée, il m'envoie un mail. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 14 novembre 2012 Partager Posté(e) le 14 novembre 2012 (modifié) As-tu bien mis a jour le fichier /opt/etc/nail.rc ? Il faut ajouter les lignes suivantes à la fin : set smtp=smtp.gmail.com:587 set smtp-use-starttls set smtp-auth-user=[username]@gmail.com set ssl-verify=ignore set smtp-auth-password=[password] (bien évidemment à adapter en fonction du serveur smtp utilisé ....) Modifié le 14 novembre 2012 par Kramlech 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikael2235 Posté(e) le 14 novembre 2012 Auteur Partager Posté(e) le 14 novembre 2012 Oui j'ai modifié. Dans le shell, j'arrive à envoyer des mails, mais pas dans mon script... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
devildant Posté(e) le 14 novembre 2012 Partager Posté(e) le 14 novembre 2012 bonjour, je n'est pas de réponse a votre problème mais je pense qu'il s'agit peu être d'un problème de droit, essayer de changer les droit de votre fichier avec un chmod 777 testmail. en espérant que cela va vous aidez. cordialement 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mikael2235 Posté(e) le 15 novembre 2012 Auteur Partager Posté(e) le 15 novembre 2012 Etrangement, mon script de 2 lignes à bien voulu fonctionner ce matin. Par contre, quand je veux donc insérer cette même ligne dans mon script xpl-mysql-logger, j'ai plein d'erreur. Voilà ce que j'ai ajouté : #Envoi de mail d'alerte avec NAIL if ( (($id_capteur == 49) || ($id_capteur == 50)) ) { echo "testing bla bla bla" | nail -s "subject bla bla bla" monmail@fai.fr } if ( (($id_capteur == 10)) ) { echo "testing bla bla bla" | nail -s "subject bla bla bla" monmail@fai.fr } Et voilà les erreurs que j'ai : String found where operator expected at /opt/bin/xpl-mysql-logger line 315, near "echo "testing bla bla bla"" (Do you need to predeclare echo?) Bareword found where operator expected at /opt/bin/xpl-mysql-logger line 315, near ""subject bla bla bla" monmail" (Missing operator before monmail?) Array found where operator expected at /opt/bin/xpl-mysql-logger line 315, at end of line (Missing operator before ?) String found where operator expected at /opt/bin/xpl-mysql-logger line 319, near "echo "testing bla bla bla"" (Do you need to predeclare echo?) Bareword found where operator expected at /opt/bin/xpl-mysql-logger line 319, near ""subject bla bla bla" monmail" (Missing operator before monmail?) Array found where operator expected at /opt/bin/xpl-mysql-logger line 319, at end of line (Missing operator before ?) Global symbol "$id_capteur" requires explicit package name at /opt/bin/xpl-mysql-logger line 314. Global symbol "$id_capteur" requires explicit package name at /opt/bin/xpl-mysql-logger line 314. syntax error at /opt/bin/xpl-mysql-logger line 315, near "echo "testing bla bla bla"" Global symbol "@fai" requires explicit package name at /opt/bin/xpl-mysql-logger line 315. Global symbol "$id_capteur" requires explicit package name at /opt/bin/xpl-mysql-logger line 318. syntax error at /opt/bin/xpl-mysql-logger line 319, near "echo "testing bla bla bla"" Global symbol "@fai" requires explicit package name at /opt/bin/xpl-mysql-logger line 319. Execution of /opt/bin/xpl-mysql-logger aborted due to compilation errors. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
loli71 Posté(e) le 16 novembre 2012 Partager Posté(e) le 16 novembre 2012 (modifié) Salut Mickael, je suppose que ton script est en perl vu les erreurs. L'appel de commandes shell dans un script perl doit etre fait soit par la commande system(), avec des `` le symbole "@" est aussi un symbole perl, il doit donc être précédé d'un antisah "" je te conseille aussi de mettre les chemins complets pour les appels à nail #Envoi de mail d'alerte avec NAIL if ( (($id_capteur == 49) || ($id_capteur == 50)) ) { `echo "testing bla bla bla" | /opt/bin/nail -s "subject bla bla bla" monmail\@fai.fr`; } if ( (($id_capteur == 10)) ) { `echo "testing bla bla bla" | /opt/bin/nail -s "subject bla bla bla" monmail\@fai.fr`; } Modifié le 16 novembre 2012 par loli71 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.