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

VBScript Discussion :

Séparateur pour adresse mail


Sujet :

VBScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 98
    Points : 40
    Points
    40
    Par défaut Séparateur pour adresse mail
    Bonjour j'ai créé un script qui me permet d'envoyer un mail automatiquement mais celui-ci envoie un mail à une seule personne et je voudrais qu'il y ait plusieurs destinataires.
    Voici une partie de mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim ToAddress
    ...
    ToAddress = "adressemail@mail.com"
    J'ai essayé ceci mais cela ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ToAddress = "adressemail1@mail.com; adressemail2@mail.com"
    Quelqu'un a-t-il une idée pour résoudre mon souci?

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Vous remplissez un tableau contenant les adresses mails destinataires et les parcourir par une boucle For...Next
    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    ListDestinataire=array("Dest1@gmail.com","Dest2@yahoo.fr","Dest3@voila.fr","Dest4@yahoo.com","Dest5@gmail.com","Dest6@domaine.com","Dest7@gmail.com","Dest8@yahoo.com","Dest9@voila.fr","Dest10@gmail.com")
    For i=LBound(ListDestinataire) to UBound(ListDestinataire)
        Destinataire = ListDestinataire(i)
        Mail(Destinataire)
    Next
     
    sub Mail(Destinataire)
        Dim messageHTML
        Set objMessage = CreateObject("CDO.Message") 
        objMessage.Subject = "Exemple de Message" 
        objMessage.From = """La maison communicante"" <Bill.Gates@gmail.com>"
        objMessage.To = Destinataire
        messageHTML="Ceci est un message en HTML envoyé par hackoo"
        objMessage.Configuration.Fields.Item _
        ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
        objMessage.Configuration.Fields.Item _
        ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr"'Tu dois changer par ton serveur smtp
        objMessage.Configuration.Fields.Item _
        ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
        objMessage.Configuration.Fields.Update
    'Ajout d'un message en HTML en affichant une image hébergé dans un serveur distant
        objMessage.HTMLBody="<center><font size=4 FACE=Tahoma Color=red>"&messageHTML&"<br><br><img src=http://nsm05.casimages.com/img/2011/07/23//1107230741401311048506419.gif>"
    'objMessage.AddAttachment("chemin de votre fichier à joindre") 'On peut ajouter aussi une image ou un fichier dans la piéce-jointe
        objMessage.Send
     
        If Err.Number <>0 Then
            MsgBox Err.Description,16,"Erreur"
            msgbox "le mail n'a pas pu être envoyé !",16,"Information"
        Else
            msgbox "Le mail a été bien envoyé !",64,"Information"
        End If
        On Error GoTo 0 
    end sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 98
    Points : 40
    Points
    40
    Par défaut
    Merci pour la réponse

    J'avais déjà essayé un type de script comme celui-là mais, même après avoir changé le smtp et l'adresse mail, cela ne fonctionne pas chez moi (aucun message d'erreur)

    J'ai adapté le mien avec ta boucle, il fonctionne pour une seule adresse mais dès que j'ajoute une deuxième adresse, rien ne se passe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Dim MessageSubject
    Dim MessageBody
    Dim MessageAttachment
     
    Dim ol, ns, newMail
     
    ListDestinataire=array("test1@gmail.com","test2@gmail.com")
    For i=LBound(ListDestinataire) to UBound(ListDestinataire)
        Destinataire = ListDestinataire(i)
    Next
     
    MessageSubject = "Info"
    MessageBody = "Bonjour"
    MessageAttachment = "Attchment Path"
     
    Set ol = WScript.CreateObject("Outlook.Application")
    Set ns = ol.getNamespace("MAPI")
    ns.logon "","",true,false
    Set newMail = ol.CreateItem(olMailItem)
    newMail.Subject = MessageSubject
    newMail.Body = MessageBody & vbCrLf
     
    ' validate the recipient, just in case...
    Set myRecipient = ns.CreateRecipient(Destinataire)
    myRecipient.Resolve
    If Not myRecipient.Resolved Then
       MsgBox "unknown recipient"
    Else
       newMail.Recipients.Add(myRecipient)
       newMail.Send
    End If
     
    Set ol = Nothing
    Merci encore pour ton aide.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 98
    Points : 40
    Points
    40
    Par défaut
    J'ai trouvé la solution, il manquait juste le i=i+1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...ListDestinataire=array("test1@gmail.com","test2@gmail.com")
    For i=LBound(ListDestinataire) to UBound(ListDestinataire)
        Destinataire = ListDestinataire(i=i+1)
    Next
    ...
    Merci

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Essaie avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Dim MessageSubject
    Dim MessageBody
    Dim MessageAttachment
    Dim ol, ns, newMail
     
    ListDestinataire=array("test1@gmail.com","test2@gmail.com")
    For i=LBound(ListDestinataire) to UBound(ListDestinataire)
        Destinataire = ListDestinataire(i)
        EnvoiMail(Destinataire)
    Next
     
    Sub EnvoiMail(Destinataire) 
        MessageSubject = "Info"
        MessageBody = "Bonjour"
        MessageAttachment = "Attchment Path"
     
        Set ol = WScript.CreateObject("Outlook.Application")
        Set ns = ol.getNamespace("MAPI")
        ns.logon "","",true,false
        Set newMail = ol.CreateItem(olMailItem)
        newMail.Subject = MessageSubject
        newMail.Body = MessageBody & vbCrLf
     
    'validate the recipient, just in case...
        Set myRecipient = ns.CreateRecipient(Destinataire)
        myRecipient.Resolve
        If Not myRecipient.Resolved Then
            MsgBox "unknown recipient"
        Else
            newMail.Recipients.Add(myRecipient)
            newMail.Send
        End If
        Set ol = Nothing
    End Sub

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

Discussions similaires

  1. type de donnée pour inserer l'adresse mail
    Par otari dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/06/2007, 13h30
  2. [RegEx] expression regulière pour contrôle d'adresse mail
    Par zit_zit dans le forum Langage
    Réponses: 4
    Dernier message: 02/04/2007, 12h03
  3. [dreamwever] adresse mail pour formulaire
    Par abibi dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 19/04/2006, 12h19
  4. Réponses: 13
    Dernier message: 03/06/2005, 11h26

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