Aller au contenu

Envoi De Message Automatique Apr


Ancelord

Messages recommandés

Salut à tous,

J'ai créé un dossier partagé avec mon Expert comptable, de manière à ce qu'il puisse y avoir accès à distance, depuis son bureau. Dossier dans lequel il peut trouver les documents qui lui servent pour la comptabilité.

Lorsque j'ajoute des documents dans ce dossier et sous-dossiers, je lui envoie un mail pour lui dire ce que j'ai ajouté.

Y a-t-il un moyen pour qu'un mail lui soit envoyé automatiquement lorsque des documents sont ajoutés dans ce dossier et les sous-dossiers de manière à ce que je ne sois pas obligé de lui faire un mail à chaque fois?

Modifié par Time Lord
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Ba je pense que le plus simple pour le coup (du moins à cette instant), faire un script qui regarde à intervalle régulier la taille du dossier et envois un mail en cas de différence avec la précédente vérification.

Ou alors en se basant sur le journal de file station aussi... Voir en modifiant la partie de notification de Syslog en rajoutant des filtres et le mail de ton comptable.

A voir ce qui est plus simple pour toi le coder ;-)

Lien vers le commentaire
Partager sur d’autres sites

Salut,

J'ai voulu voir avec Cloud Station mais le soucis c'est que c'est tout le dossier mère ainsi que tous les sous-dossiers qu'on peut partager. Or, je souhaiterais ne patgager qu'un seul sous-dossier, avec mon expert comptable.

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas faire :unsure:

Je t'ai fait un script qui genere le texte d'un mail contenant tous les fichiers qui ont ete modifies ou ajoutes (mais pas supprimes ou renommes) depuis la derniere execution :

#!/bin/sh
#
# surep.sh v0.99 (2015-04-20 16:37:18)
#

# =============================== #
# CONFIGUREZ MOI !!!
# =============================== #

# Repertoire a surveiller
nas_dir="/volume1/Documents/Comptabilite"
# URL internet du NAS
nas_url="https://ancelord.synology.me:5001"

# Personne recevant le courriel
recipient_title="Monsieur"
recipient_name="Ancelord"
recipient_email="ancelord@synology.me"

# Personne envoyant le courriel
sender_name="Fravadona"
sender_email="fravadona@synology.me"

# =============================== #
# NE PAS EDITER APRES CETTE LIGNE
# =============================== #

if [ ! -d "${nas_dir}" ]
then
    echo "${nas_dir}: no such directory" 1>&2
    exit 1
fi

fdb="/root/`echo "${nas_dir}" | /bin/sed -e 's;/;.;g'`.fdb"

if [ ! -e "${fdb}" ]
then
    _first_run=yes
else
    /bin/mv "${fdb}" "${fdb}.0"
fi

fdate="+%Y%m%d%H%M%S"
edate='[1-2][90][0-9][0-9][0-1][0-9][0-3][0-9][0-2][0-9][0-5][0-9][0-5][0-9]'

IFS_save="${IFS}"
IFS="
"

for file in `/usr/bin/find "${nas_dir}" -type f ( ! -path '*/@eaDir/*' ) -print | /usr/bin/sort`
do
    echo "${file}" `/bin/date "${fdate}" -r "${file}"`
done > "${fdb}"

IFS="${IFS_save}"

if [ "${_first_run}" == "yes" ]
then
    exit 0
fi

flist=`/usr/bin/diff "${fdb}.0" "${fdb}" | /bin/grep -e '^+[^+]' 
                                         | /bin/sed -e "s;^+${nas_dir}/(.*) ${edate};1;"`

if [ -z "${flist}" ]
then
    exit 0
fi

echo "
Bonjour ${recipient_title} ${recipient_name},

De nouveaux documents sont disponibles sur ${nas_url}

Voici la liste des fichiers concernes:
${flist}

Cordialement,
${sender_name}
"

Ca ne repond pas encore completement a ton besoin car il manque l'envoidu mal mais ya plus qu'a !! ^_^

N'hesite pas a tester son comportement pour verifier qu'il fait bien ce que tu voudrais

Il y a peut-etre des exclusions de nom de fichier a ajouter, des fichiers du genre Thumbs.db (ou autres) que tu ne voudras pas tenir compte pour generer l'email.

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

Je t'ai fait un script qui genere le texte d'un mail contenant tous les fichiers qui ont ete modifies ou ajoutes (mais pas supprimes ou renommes) depuis la derniere execution :

#!/bin/sh
#
# surep.sh v0.99 (2015-04-20 16:37:18)
#

# =============================== #
# CONFIGUREZ MOI !!!
# =============================== #

# Repertoire a surveiller
nas_dir="/volume1/Documents/Comptabilite"
# URL internet du NAS
nas_url="https://ancelord.synology.me:5001"

# Personne recevant le courriel
recipient_title="Monsieur"
recipient_name="Ancelord"
recipient_email="ancelord@synology.me"

# Personne envoyant le courriel
sender_name="Fravadona"
sender_email="fravadona@synology.me"

# =============================== #
# NE PAS EDITER APRES CETTE LIGNE
# =============================== #

if [ ! -d "${nas_dir}" ]
then
    echo "${nas_dir}: no such directory" 1>&2
    exit 1
fi

fdb="/root/`echo "${nas_dir}" | /bin/sed -e 's;/;.;g'`.fdb"

if [ ! -e "${fdb}" ]
then
    _first_run=yes
else
    /bin/mv "${fdb}" "${fdb}.0"
fi

fdate="+%Y%m%d%H%M%S"
edate='[1-2][90][0-9][0-9][0-1][0-9][0-3][0-9][0-2][0-9][0-5][0-9][0-5][0-9]'

IFS_save="${IFS}"
IFS="
"

for file in `/usr/bin/find "${nas_dir}" -type f ( ! -path '*/@eaDir/*' ) -print | /usr/bin/sort`
do
    echo "${file}" `/bin/date "${fdate}" -r "${file}"`
done > "${fdb}"

IFS="${IFS_save}"

if [ "${_first_run}" == "yes" ]
then
    exit 0
fi

flist=`/usr/bin/diff "${fdb}.0" "${fdb}" | /bin/grep -e '^+[^+]' 
                                         | /bin/sed -e "s;^+${nas_dir}/(.*) ${edate};1;"`

if [ -z "${flist}" ]
then
    exit 0
fi

echo "
Bonjour ${recipient_title} ${recipient_name},

De nouveaux documents sont disponibles sur ${nas_url}

Voici la liste des fichiers concernes:
${flist}

Cordialement,
${sender_name}
"

Ca ne repond pas encore completement a ton besoin car il manque l'envoidu mal mais ya plus qu'a !! ^_^

N'hesite pas a tester son comportement pour verifier qu'il fait bien ce que tu voudrais

Il y a peut-etre des exclusions de nom de fichier a ajouter, des fichiers du genre Thumbs.db (ou autres) que tu ne voudras pas tenir compte pour generer l'email.

Salut Fravadona,

Merci pour le script. Franchement, super :)

Cependant, à:

# Personne envoyant le courriel

sender_name="Fravadona"

sender_email="fravadona@synology.me"

Je souhaiterais mettre une personne comme second destinatire. En fait, il y a mon expert comptable et la personne qui travaille avec lui.

Est-ce que je dois mettre:

# Personne envoyant le courriel

sender_name="Fravadona"

sender_email="fravadona@synology.me;seconddestinatire@synology.me"

Ou

# Personne envoyant le courriel

sender_name="Fravadona"

sender_email="fravadona@synology.me""seconddestinataire@synology.me"

Lien vers le commentaire
Partager sur d’autres sites

Mon script est encore peu evolue et l'envoi d'email n'est pas code, mais il faudra prendre en compte l'envoi a de multiples destinataires.

De plus le Syno ne possede par defaut aucun moyen d'envoyer un mail a partir d'un script. Pour faire cela il faut installer un client SMTP d'une des manieres suivantes :

1) Installer le paquet Perl et installer le script Perl sendMail ( http://caspian.dotconf.net/menu/Software/SendEmail/ )

2) Installer et configurer le paquet MailStation pour pouvoir utiliser la commande sendmail ( https://swisstechiethoughts.wordpress.com/2014/01/20/howto-send-mail-from-synology-nas-commandline-using-google-mail-relay/ )

3) installer un client SMTP avec ipkg ou optware (nail,sendmail, etc ...)

Peut-etre que d'autres membres pourront te conseiller sur la solution SMTP a adopter. Une fois que tu auras choisi ton client SMTP on pourra terminer le script (j'aurais une preference pour MailStation car il ne demande pas de te connecter au NAS par SSH pour l'installer/configurer)

Lien vers le commentaire
Partager sur d’autres sites

Ah oui la comparaison de deux listes des fichiers, drôle d'extension de liste par contre =)

.fdb pour FileDataBase :P

Sinon pourquoi tu /bin... /usr... A chaque fois ? Tu peux directement mettre les commandes pour éclaircir le script ;-)

C'est une habitude que j'ai pris en évoluant dans des environnements avec des exécutables portant le même nom à plusieurs endroits dans le PATH. Quand on fait appel a un nouveau SHELL dans le script (avec par exemple `commande` ) on ne peut pas être sûr des fichiers de profile/login qui vont être chargés, du coup le PATH peut être différent et on exécute peut-être un autre binaire que celui qu'on voudrait : ca fait tres mal d'appeler un "sed" BSD quand on utilise des arguments pour le "sed" GNU.

Normalement je mets les exécutables en variable ( __sed=/bin/sed ) et je teste l’existence et la version en début de script

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

C'est une habitude que j'ai pris en évoluant dans des environnements avec des exécutables portant le même nom à plusieurs endroits dans le PATH. Quand on fait appel a un nouveau SHELL dans le script (avec par exemple `commande` ) on ne peut pas être sûr des fichiers de profile/login qui vont être chargés, du coup le PATH peut être différent et on exécute peut-être un autre binaire que celui qu'on voudrait : ca fait tres mal d'appeler un "sed" BSD quand on utilise des arguments pour le "sed" GNU.

Normalement je mets les exécutables en variable ( __sed=/bin/sed ) et je teste l’existence et la version en début de script

+1

Pour l'envoi de mail :

telnet smtp.que.tu.peux.utiliser 25
HELO nas.mondomaine
MAIL FROM:moi@mon.domaine
RCPT TO:toi@ton.domaine
DATA
From: MOI <moi@mon.domaine>
To: TOI <toi@ton.domaine>
Subject: le delta
blabla
blabla
.
QUIT
Modifié par Fenrir
Lien vers le commentaire
Partager sur d’autres sites

+1

Pour l'envoi de mail :

telnet smtp.que.tu.peux.utiliser 25
HELO nas.mondomaine
MAIL FROM:moi@mon.domaine
RCPT TO:toi@ton.domaine
DATA
From: MOI <moi@mon.domaine>
To: TOI <toi@ton.domaine>
Subject: le delta
blabla
blabla
.
QUIT

Je vais tester ca. Niveau securite c'est un peu leger mais si on utilise le smtp de notre FAI ca a du sens.

Lien vers le commentaire
Partager sur d’autres sites

Je vais tester ca. Niveau securite c'est un peu leger mais si on utilise le smtp de notre FAI ca a du sens.

tu peux aussi le faire en php, il y a des class qui n'utilise pas la fonction mail et qui gèrent l'authentification et le tls

tu peux aussi installer un vrai mailer avec ipkg

Lien vers le commentaire
Partager sur d’autres sites

tu peux aussi le faire en php, il y a des class qui n'utilise pas la fonction mail et qui gèrent l'authentification et le tls

tu peux aussi installer un vrai mailer avec ipkg

Oui c'est faisable de beaucoup de manieres differentes.

Le but final serait d'arriver a faire un script dans un seul language et avec des utilitaires disponibles par defaut sur DSM, c'est a dire "orientaté noob" : ne rien faire d'autre que de copier/coller dans le planificateur de taches.

En tout cas tu m'as mis sur la voie avec "telnet"; il y a openssl sur le syno et avec lui on peut encoder en base64 (pour l'authentification SMTP) et gerer des connexions SMTP en SSL ou STARTTLS

PS: pour le moment je suis parti pour le faire en Shell mais ca serait peut-etre plus simple en Php, je verrai ca plus tard

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

Salut à tous,

En ce qui concerne tous ces scripts, où est-ce qu'ils doivent être installer?

n'importe ou sauf dans /dev/null :)

je te recommande faire un partage dédié aux scripts, accessibles uniquement aux personnes "habilitées" et d'y placer tes codes, ensuite il suffit de les adresser avec le chemin complet (/volumeX/zscripts/compta/script.bsh)

Lien vers le commentaire
Partager sur d’autres sites

Ancelord: Quelle serveur SMTP vas-tu utiliser pour envoyer les mails ? Celui de ton FAI ? Si oui quel FAI ?

Le smtp de mon adresse mail pro par ovh

Modifié par Ancelord
Lien vers le commentaire
Partager sur d’autres sites

Le smtp de mon adresse mail pro par ovh

Une première version opérationnelle est disponible à

Il ne reste plus qu'à la tester (en t'envoyant des mails à toi pour vérifier que le comportement te convient)

Pour toi, la configuration devraient ressembler à quelque chose comme :

nas_url="https://ancelord.synology.me:5001"
nas_dir="/volume1/Documents/Comptable"

smtp_server="ssl0.ovh.net:465"
smtp_isp="ssl"
smtp_username="ancelord@ovh.net"
smtp_password="monmotdepasse"

sender_email="Ance Lord <${smtp_username}>"

recipient_email="CompTable <comptable@cabinet.fr>, 
                 Assistant <assistant@cabinet.fr>, 
                 monmail@ovh.net"

message_subject="Notification de la part de M. Ancelord"

message_body="
Bonjour Messieurs,

De nouveaux documents sont disponibles sur ${nas_url}

Liste des fichiers concernés:
@FILELIST@

Cordialement,
Ancelord"

fdb_dir="${HOME}/.surep"

notify_level=0

smtp_cmdwait=1

Modifié par Fravadona
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.