IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

[batch] Envoyer un e-mail


Sujet :

Scripts/Batch

  1. #1
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut [batch] Envoyer un e-mail
    Bonjour à tous
    A l'arrêt du PC, je créé une sauvegarde d'un (ou plusieurs) fichier(s) sur clé USB. Pour cela, j'ai créé un fichier Batch qui se lance automatiquement à l'arrêt du PC.
    Afin d'être certain de pouvoir retrouver mes fichiers, j'aimerai les envoyer par e-mail (afin d'avoir une copie dans un autre lieu).
    Cependant, malgré mes recherches et mes essais, je n'arrive pas à envoyer d'e-mail par un fichier batch.
    Voici le code de mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    telnet smtp.orange.fr 25
    helo djedje
    mail from: <123@orange.fr>
    rcpt to: <456@orange.fr>
    data
    essai d'envoi d'e-mail
    .
    quit
    Le résultat est le suivant :
    Quand je lance ce fichier batch, j'ai à l'écran le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    220 mwinfd14 ME ESMTP server ready
    Puis mes autres instructions ne se lancent pas

    Par contre, quand je saisis manuellement une à une les instructions de mon batch, mon e-mail semble être bien envoyé mais il ne parvient pas pour autant au destinataire.

    Est-ce que quelqu'un aurait une idée pour m'aider ?
    Merci d'avance


    PS : ne me parlez pas de python ou autres langages, le fichier d'instructions étant lancé à l'arret du PC, seul le batch peut fonctionner ...

  2. #2
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    J'ai trouvé un élément de réponse.
    La fonction mailsend me permet d'envoyer un e-mail assez facilement.
    Il est possible de télécharger celle-ci à cette adresse : muquit.com
    Vous pourrez lire les instructions d'utilisation de cette fonction sur la même page.
    Ainsi, j'ai créé un batch contenant les instructions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailsend -smtp smtp.mail.fr -d mail.fr -t mail1@mail.fr.fr -f mail2@mail.fr.fr +cc +bc -sub "essai" -a "123\msg.abc"
    Ce batch fonctionne correctement, l'e-mail est bien envoyé avec le fichier msg.abc en pièce jointe.
    Cependant, si je mets "123\*.*" à la place de "123\msg.abc", j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error: smtp.c (494) - Could not open file for reading: 123\*.* (Invalid argument)
    Mail sent successfully
    L'e-mail est envoyé, mais sans pièces jointes.
    J'ai beau me creuser la tête, je ne trouve pas comment envoyer tous les fichiers d'un dossier sans les lister un à un.

    Est-ce que quelqu'un aurait une idée de solution ?

  3. #3
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Quelle est la taille en mégaoctet de l'ensemble des fichiers que tu veux transmettre ?

  4. #4
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    Bonjour Minnesota, et merci de t'intéresser à mon problème.

    J'ai essayé avec plusieurs fichiers différents : Par exemple avec 2 fichiers de 50octets et 76octets, ça ne fonctionne pas.
    Idem avec des gros fichiers : 2,3 et 5.3Mo.

    En fait je pense que je ne peux indiquer "*.*", la fonction a obligatoirement besoin d'un mon de fichier précis. Mais comment faire si je veux envoyer tous les fichiers d'un dossier sans avoir à les lister un à un ? Créer une variable qui contient la liste de tous les fichiers, peut-être ? mais je ne sais pas comment faire

  5. #5
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Je demandais cela parce qu'il y a des limitations à plusieurs niveaux pour la transmission de gros fichiers par email. Suivant les cas, ça peut être de 2, 5 voire 10 (?) mégaoctets . Y'a pas vraiment de règles, disant que ça dépend des prestataires et des équipements. Mais il faut être conscient que pour de la sauvegarde de fichiers, un serveur FTP serait probablement plus adapté.

    Pour en revenir à ton problème, il faudrait dans un premier temps savoir comment faire pour transmettre par ton application plus d'un fichier. Tu peux éventuellement essayer les pistes de syntaxes qui suivent et si ça fonctionne, on pourra alors se pencher sur l'automatisation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mailsend ... -a "fichier1" "fichier2" "fichier3"
    mailsend ... -a "fichier1" -a "fichier2" -a "fichier3"
    ...
    Pour info, tu peux aussi lire cette discussion -> http://www.developpez.net/forums/d92...ch/envoi-mail/

  6. #6
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    J'avais bien pensé au FTP, mais je ne trouve pas de serveur FTP gratuit et sérieux qui me propose 2 à 3Go d'espace disque ...
    J'avais pensé à mon FAI (orange), mais il ne me propose que 100Mo !!!
    Si tu connais un lien intéressant, je suis preneur !

    Du coup, je m'étais dit qu'en créant une (voire 2 si besoin) adresse gmail par exemple, je pourrai faire mes sauvegardes comme expliqué plus haut.

    J'avais également jeté un oeil au post dont tu proposes le lien, mais je préfère du langage batch : comme je l'ai expliqué dans mon premier message, ces commandes seront exécutées à l'arrêt du PC, donc je veux faire le plus possible appel aux ressources système et le moins possible à des ressources "externes"

    Quoi qu'il en soit, le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailsend ... ... ... -a "123\msg.abc" -a "123\msg2.abc"

  7. #7
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Citation Envoyé par djedje-08 Voir le message
    J'avais bien pensé au FTP, mais je ne trouve pas de serveur FTP gratuit et sérieux qui me propose 2 à 3Go d'espace disque ...
    J'avais pensé à mon FAI (orange), mais il ne me propose que 100Mo !!!
    Si tu connais un lien intéressant, je suis preneur !

    Du coup, je m'étais dit qu'en créant une (voire 2 si besoin) adresse gmail par exemple, je pourrai faire mes sauvegardes comme expliqué plus haut.
    Salut,

    Je sais qu'en grande surface tu peux acheter des clefs USB à partir de 10 euros (Dane-elec, Trendmicro, Tanscend, Lacie, ... ) auxquelles sont associées des offres qui te donnent accès à un stockage en ligne gratuit pouvant aller jusqu'à 4 gigaoctets pour plusieurs années. Il faut juste faire le tri (en consultant les sites des fabricants) dans les conditions et voir éventuellement les offres qui proposent une interface FTP. Mais je ne te garantis rien. Si c'est des fichiers importants, tu devrais songer à les mettre également sur un support amovible, histoire de t'accorder un degré de sécurité supplémentaire.


    Citation Envoyé par djedje-08 Voir le message
    J'avais également jeté un oeil au post dont tu proposes le lien, mais je préfère du langage batch : comme je l'ai expliqué dans mon premier message, ces commandes seront exécutées à l'arrêt du PC, donc je veux faire le plus possible appel aux ressources système et le moins possible à des ressources "externes"
    Contrairement à "mailsend", le lien correspond bien à une "ressource" native du système d'exploitation.

    Citation Envoyé par djedje-08 Voir le message
    Quoi qu'il en soit, le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mailsend ... ... ... -a "123\msg.abc" -a "123\msg2.abc"
    Dans ce cas on peut envisager quelque chose dans le genre de ce qui suit où [%Attachedfiles%]
    remplace [-a "fichier1" ... -a "fichierx"] dans la ligne utilisant "mailsend" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    set "Attachedfiles="
    for /f "tokens=*" %%i in ('dir /b /a-d 123\*') do call set Attachedfiles=%%Attachedfiles%% -a "123\%%~i"
    mailsend ... %Attachedfiles%
    ...
    Là le plus gros est fait, cependant, comme il s'agit de sauvegarde, il te reste quand même à étudier de plus près ton programme ("mailsend") et trouver les options et infos qui te permettent de t'assurer de la réussite du transfert.

    Voilà, en ce qui me concerne je m'arrête là.
    Aussi, je te souhaite bon courage et de réussir ce que tu as entrepris.

  8. #8
    Membre très actif
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    Impeccable, ça fonctionne
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [batch] envoyer mail avec pièce jointe sous dos ou telnet
    Par ritchie23 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 15/10/2008, 21h58
  2. Réponses: 135
    Dernier message: 15/12/2006, 13h56
  3. batch - Envoyer un mail par outlook express
    Par koKoTis dans le forum Windows
    Réponses: 5
    Dernier message: 16/08/2006, 08h44
  4. [VB.NET] Envoyer des e-mails !
    Par Ludog35 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/10/2005, 16h50
  5. [JBOSS] Envoyer un e-mail
    Par webspeak dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 05/03/2005, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo