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

Contribuez Discussion :

Envoi de mail avec Outlook


Sujet :

Contribuez

  1. #1
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut Envoi de mail avec Outlook
    Voici le code (légèrement modifié) que j'ai utilisé pour l'envoi de mail avec Outlook. L'intérêt est d'avoir une trace dans les éléments envoyés de l'utilisateur. D'autre part, les fonction Outlook de Windev ne m'on pas permis d'envoyer un mail au format HTML : le message reçu fait apparaître les balises...
    Je prends le compte messagerie par défaut. Si un jour, j'ai une demande pour la sélection, je la rajouterai. Il me semble que dans l'exemple livré avec Windev, il y a les infos qui vont bien.
    Première partie : Y'a-t'il Outlook sur le poste ?
    Cette partie n'est pas à négliger. Il existe de nombreuses entreprises qui n'utilisent pas Outlook. Autant éviter de s'empoisonner la vie...
    // on teste si outlook est lancé
    // si non, on essaye de le lancer (dans un Quand Excepetion, Histoire de ne pas se taper un beau plantage).
    // si succès le code se continue et on affiche la possibilitealors les interrupteurs restent cachés

    Pour cet exemple, on considère que l'on a :
    - un champ de saisie pour les destinataires
    - un champ de saisie pour l'objet
    - un champ de saisie HTML pour le corps du mail
    - un bouton envoyer par "Outlouk" (caché)
    - un bouton envoyer par "mail classique" (visible)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    OautOUTLOOK est un objet Automation dynamique
    // Si un Outlook est déjà lancé, on va le récupérer
    OautOUTLOOK = ObjetActif("OutLook.Application")
    SI OautOUTLOOK = Null ALORS
    	QUAND EXCEPTION DANS
    		OautOUTLOOK = allouer un objet Automation "OutLook.Application"
    	FAIRE
    		RETOUR // Pas d'Outlook, on se sauve
    	FIN
    	libérer OautOUTLOOK // On libère Outlook, car à ce niveau, on ne sait pas si' l'utilisateur va vraiment s'en servir
    	// Oulook est installé, on montre les éléments qui vont bien
    	BTN_EnvoiOutlook..Visible = Vrai
    	BTN_EnvoiEmailClassique..Visible = Faux
    FIN
    Deuxième partie : Envoi du mail
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    OautOUTLOOK est un objet OLE dynamique
    pautEmail est un objet OLE dynamique
    sSignature, sListeAdresses sont des chaînes
     
    OautOUTLOOK= allouer un objet OLE "Outlook.Application"
    // Création mail
    pautEmail = OautOUTLOOK>>CreateItem(0)
    // sujet
    pautEmail >>subject = SAI_Sujet
     
    //Adresse de l'expéditeur
    pautEmail>>Sender = SansEspace(UTILISAT.EmailUser)
     
    // signature
    Texte_CorpsMailHTML = sai_html + Texte_SignatureHTML
    // corps de mail
    pautEmail>>HTMLbody = Texte_CorpsMailHTML
     
    // Accusé de réception
    pautEmail>>OriginatorDeliveryReportRequested = Vrai
     
    // Parcours des destinataires
    sListeAdresses = ""
    POUR TOUTE CHAÎNE sDestinataire DE SAI_destinataires SEPAREE PAR ";"
    	// Ajout du destinataire
    	SI EmailVérifieAdresse(SansEspace(sDestinataire),emailValideSyntaxe) = emailAdresseValide ALORS
    		sListeAdresses += sDestinataire + ";" //ajoute un destinataire
    	FIN
    FIN
    SI sListeAdresses <> "" ALORS
    	pautEmail>>to = sListeAdresses
    FIN
     
    // Parcours des copies (Cc)
    sListeAdresses = ""
    POUR TOUTE CHAÎNE sDestinataire DE SansEspace(sai_copie_mail) SEPAREE PAR ";"
    	// Copie	
    	SI EmailVérifieAdresse(SansEspace(sDestinataire),emailValideSyntaxe) = emailAdresseValide ALORS
    		sListeAdresses += sDestinataire + ";" //ajoute un destinataire
    	FIN
    FIN
    pautEmail>>cc = sListeAdresses 
     
    	pautEmail >>attachments>>add(sDocPJ) //ajoute ma pièce jointe
    FIN
     
    //ajoute ma pièce jointe
     
    pautEmail >>attachments>>add(sDocPJ) 
     
    // Envoi dans OutLook
    pautEmail>>Send()
    ToastAffiche("Mail envoyé")
     
    libérer pautEmail
    libérer pautOUTLOOK
    Il se peut qu'il y ait des erreurs de saisie. N'hésitez pas à me le signaler, je corrigerai dans ce message
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Salut frenchsting

    Testé vite fait sur Outlook 365, c'est ok.

    Mes remarques :

    - Il faudrait préciser ce que c'est que "UTILISAT.EmailUser"

    - Mettre "libérer OautOUTLOOK" au lieu de "libérer pautOUTLOOK"

    - Il manque une condition avant "pautEmail>>attachments>>add(sDocPJ)" car il y a un "FIN" tout seul juste après.

    En corrigeant ça, ça roule (j'ai testé sans PJ)

    ça utilise le compte par défaut pour l'envoi

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Merci pour la relecture

    Je n'ai semble-t'il plus la main pour modifier mon message d'origine.

    Je vais voir si je rajoute une message au lieu de le modifier comme initialement prévu.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Je n'ai semble-t'il plus la main pour modifier mon message d'origine.
    Ah oui, je crois que les messages sont modifiables pendant 72h, tu as dépassé de quelques heures :-)

  5. #5
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Du coup, je fais un correctif dans un nouveau message...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Je reposte le code corrigé. Merci Hpascal pour la relecture.

    Il manque donc, un champ qui contient l'adresse de l'expéditeur (SAI_AdresseEmailExpediteur).

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    OautOUTLOOK est un objet OLE dynamique
    pautEmail est un objet OLE dynamique
    sSignature, sListeAdresses sont des chaînes
     
    OautOUTLOOK= allouer un objet OLE "Outlook.Application"
    // Création mail
    pautEmail = OautOUTLOOK>>CreateItem(0)
    // sujet
    pautEmail >>subject = SAI_Sujet
     
    //Adresse de l'expéditeur
    pautEmail>>Sender = SansEspace(SAI_AdresseEmailExpediteur)
     
    // signature
    Texte_CorpsMailHTML = sai_html + Texte_SignatureHTML
    // corps de mail
    pautEmail>>HTMLbody = Texte_CorpsMailHTML
     
    // Accusé de réception
    pautEmail>>OriginatorDeliveryReportRequested = Vrai
     
    // Parcours des destinataires
    sListeAdresses = ""
    POUR TOUTE CHAÎNE sDestinataire DE SAI_destinataires SEPAREE PAR ";"
    	// Ajout du destinataire
    	SI EmailVérifieAdresse(SansEspace(sDestinataire),emailValideSyntaxe) = emailAdresseValide ALORS
    		sListeAdresses += sDestinataire + ";" //ajoute un destinataire
    	FIN
    FIN
    SI sListeAdresses <> "" ALORS
    	pautEmail>>to = sListeAdresses
    FIN
     
    // Parcours des copies (Cc)
    sListeAdresses = ""
    POUR TOUTE CHAÎNE sDestinataire DE SansEspace(sai_copie_mail) SEPAREE PAR ";"
    	// Copie	
    	SI EmailVérifieAdresse(SansEspace(sDestinataire),emailValideSyntaxe) = emailAdresseValide ALORS
    		sListeAdresses += sDestinataire + ";" //ajoute un destinataire
    	FIN
    FIN
    pautEmail>>cc = sListeAdresses 
     
    SI ffichierexiste(sDocPJ) ALORS
    	pautEmail >>attachments>>add(sDocPJ) //ajoute ma pièce jointe
    FIN
     
    //ajoute ma pièce jointe
     
    pautEmail >>attachments>>add(sDocPJ) 
     
    // Envoi dans OutLook
    pautEmail>>Send()
    ToastAffiche("Mail envoyé")
     
    libérer pautEmail
    libérer oautOUTLOOK
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2022
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Enfin ça fonctionne pour moi, merci
    Bonjour,
    un grand merci.
    Question bête : pour mettre en copie cachée (CCI), comment fait-on?
    Bonne journée.

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2022
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Solution trouvée
    Il faut mettre bcc au lieu de cci

Discussions similaires

  1. [XL-2007] envoi e-mail avec outlook en vba
    Par thibautewbank dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2012, 17h27
  2. [OL-2003] Automatiser l'envoi de mail avec outlook
    Par jfox dans le forum Outlook
    Réponses: 1
    Dernier message: 20/03/2009, 22h47
  3. [Sources][A-07] Envoi de mails avec Outlook Express
    Par AlainL dans le forum Contribuez
    Réponses: 0
    Dernier message: 06/01/2009, 10h43
  4. Envoi de mail avec Outlook
    Par lolo_bob2 dans le forum Access
    Réponses: 5
    Dernier message: 31/05/2006, 13h30
  5. Envoi E-mail avec Outlook Express
    Par chim33 dans le forum Access
    Réponses: 6
    Dernier message: 24/12/2005, 17h14

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