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 :

Envoi mail avec condition [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut Envoi mail avec condition
    Bonjour,

    Je souhaite automatiser l'envoi de mail à l'aide d'outlook.
    J'ai un dossier un possède plusieurs fichiers, et je souhaite selon le fichier envoyer à une certaine adresse mail, par exemple, le fichier est envoyé à @exemple.fr, le fichier à 2@exemple.fr.

    J'ai créer un objet COM outlook, et ensuite je dois mettre dans mon script un if, mais je ne voit pas quoi mettre dans la condition du if, et à l'intérieur du if.

    Donc, selon-vous, comment faire pour envoyer un fichier à une adresse mail spécifique avec une condition ?

    Merci d'avance.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    si à un fichier correspond une adresse mail tu peux utiliser une hashtable :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #Powershell v4
    $h=@{}
    $h.'test.txt'='Un@destinataire.com'
    $h.'Test.csv'='Deux@destinataire.com'
     
    $h.'test.txt'
    #Un@destinataire.com
     
    $Name='test.txt'
    $h.$Name
    #Un@destinataire.com
    Sinon utilise un Switch au lieu d'un if

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    Donc, je fait un if, si le fichier s'apelle test1, j'envoi à cette adresse mail, si le fichier s'appelle test2, j'envoi à cette adresse mail.
    Mais je met comment dans la condition du if ?

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tifil Voir le message
    Mais je met comment dans la condition du if ?
    Cela dépend de l'objet que tu traites, si c'est un fichier (Get-Item) ce sera la propriété Name :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if ($File.Name -eq 'test1.txt') { "Send @ 1"}
    elseif ($File.Name -eq 'test2.txt') { "Send @ 2"}
    elseif 
    ...
    else {Write-error ("Fichier inconnu: {0}" -F $File.Name)}

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    Merci beaucoup pouf l'aide.
    Ça marche.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 74
    Par défaut
    Re,

    Je vais maintenant le faire avec une autre méthode, avec hastables.
    J'ai mon fichier html qui se compose ainsi: edt - nomClasse - semaine.html

    Ensuite quand je dois exécuter mon script, je dois lui passer en paramètre le nom du fichier html, donc je dois juste récuperer le champ nomClasse, que je fait à l'aide d'un split.

    Alors, je créer mon objet com outlook, ensuite je créer un hash de mes classes avec cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $classemails = @{IRIS1 = "iris1@test.fr" ; IRIS2 = "iris2@test.fr"};
    Ensuite à l'aide de la commande regex, je dois définir le séparateur de champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [regex]$regexobject = '-';
    Je sais que je dois utiliser un foreach juste ensuite, avec à l'intérieur mon split:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach ($file in $args){
    
    $classe = split($file,t,"-');
    
    
    $addr = $classemails[$classe]
    
    }
    Donc, ici je fait mon foreach suivi du split.
    Si vous pouviez m'éclairer pour l'intérieur de mon foreach, où est-ce que je rajoute ensuite mes méthodes .To, .Subject... pour l'envoi du mail.

    Merci d'avance

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

Discussions similaires

  1. envoi mail avec conditions multiples
    Par tibobear dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/09/2011, 11h49
  2. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  3. envoi mail avec condition
    Par liloo974 dans le forum VBScript
    Réponses: 2
    Dernier message: 28/08/2007, 10h35
  4. Envoi mail avec Outlook accusé de réception
    Par KapoueMan dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2005, 10h41
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02

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