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

4D Discussion :

Email multiple (je sèche..)


Sujet :

4D

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2019
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Email multiple (je sèche..)
    Envoi par la commande SMTP_Send($SMTPid;1) d'un email à plusieurs utilisateurs
    Si je fais :
    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
    C_TEXTE($Maildest)
    $Maildest:=""
    $Maildest:="bruno.tyty@gmail.com; [email]venus.essai@laposte.net"
    SMTP_New($SMTPid)
    ...
    ...
    ...
    $Locfail:=0
    $Locfail:=SMTP_To($SMTPid;$Maildest;0)  
    // Valeur retour $Locfail = 0
    ...
    ...
    $Locfail:=0
    $Locfail:=SMTP_Send($SMTPid;1)
    // Valeur retour $Locfail = 0
    La chaine $Maildest vue avec le débogueur est :
    "bruno.tyty@gmail.com; [email]venus.essai@laposte.net"
    Le message est envoyé aux 2 destinataires.


    Si je fais :
    Séléction des adhérents :Table Adhe sur l'email
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $Maildest:=""
    $Maildest:= $Maildest+[Adhe]Email
    Tant que ([Adhe]Email#"") 
        $Maildest:= $Maildest+"; "+[Adhe]Email)
        ENREGISTREMENT SUIVANT([Adhe])
    Fin Tant que
    $Locfail:=0
    $Locfail:=SMTP_To($SMTPid;$Maildest;0)  
    // Valeur retour $Locfail = 0
    ...
    ...
    $Locfail:=0
    $Locfail:=SMTP_Send($SMTPid;1)
    // Valeur retour $Locfail = 0
    La chaine $Maildest vue avec le débogeur est :
    "bruno.tyty@gmail.com; [email]venus.essai@laposte.net"
    Mais le message ne part pas, aucun des destinataires ne reçoit l'email

    Si je fais la boucle en sortant après le 1er utilisateur
    La chaine $Maildest vue avec le débogueur est :
    "bruno.tyty@gmail.com"
    Ca marche

    Je ne vois pas ce qui cloche ;+(
    Merci de votre retour
    Bruno

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2011
    Messages : 40
    Points : 66
    Points
    66
    Par défaut
    Bonjour Bruno

    Ce qui me choque le plus ce sont les crochets dans tes adresses email, ce n'est pas conforme aux RFC

    Personnellement je concatène les adresses avec une virgule et sans espace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Destinataires:=$Email1+","+$Email2
    Dans ta boucle, le premier enregistrement est répété deux fois

    Il faudrait essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $Maildest:=""
    Tant que (Non( fin de selection([Adhe])))
      si ([Adhe]Email#"")//Ce contrôle ne suffit peut-être pas, il faudrait s'assurer que l'adresse email est valide
        $Maildest:= $Maildest+","+[Adhe]Email
      fin de si
      ENREGISTREMENT SUIVANT([Adhe])
    Fin Tant que

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2019
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse.
    Mais sous 4D l'accès aux champs d'une table se fait de la façon suivante:
    [Nom de la Table]champ, d’où [Adhe]Email

    Ce n'est peut être pas conforme aux RFC (mais j'attends plus d'info).
    En tous cas c'est la syntaxe employée dans tous mes autres lignes de code d'accès aux tables et ailleurs ça marche.
    Le champs $Maildest affiché lors du debug est identique dans les 2 cas.

    De plus dans la norme IEEE des adresses email le séparateur de destinataire (et de champs en général) est ";".

    Effectivement dans le code posté en email le premier enregistrement est répèté 2 fois (erreur de copier/coller) le code réel est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $Maildest:= $Maildest+[Adhe]Email
    ENREGISTREMENT SUIVANT([Adhe])
    Tant que ([Adhe]Email#"")
        $Maildest:= $Maildest+"; "+[Adhe]Email)
        ENREGISTREMENT SUIVANT([Adhe])
    Fin Tant que
    Enfin je vais essayer.
    Mais j'ai aussi une autre idée
    Je vous tiens au courant.
    Bruno

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2011
    Messages : 40
    Points : 66
    Points
    66
    Par défaut
    Dans ton premier message tu écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Maildest:="bruno.tyty@gmail.com; [email]venus.essai@laposte.net"
    Les crochets sont dans le texte, c'est ça qui me semble bizarre

    Bien sûr que ce que suit est correct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Maildest:= $Maildest+[Adhe]Email
    Mais là tu n'auras pas de crochets dans la valeur de la variable

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2019
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé
    Il faut faire ceci
    Séléction des adhérents :Table Adhe sur l'email
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Tant que ([Adhe]Email#"")
        Si ([Adhe]Email#"")
            $Locfail:=SMTP_To ($SMTPid;[Adhe]Email;0)  // Cette instruction avec Zéro en paramètre ajoute l'émail sélectionné à la liste des destinataires
        Fin de si
       ENREGISTREMENT SUIVANT([Adhe])
    Fin Tant que
    $Locfail:=0
    $Locfail:=SMTP_To($SMTPid;$Maildest;0)
    Ca marche, mais c'est mon mailserver (sfr) qui refuse (SMTP Error 550) a priori il refuse d'envoyer plusieurs email pour un compte gratuit?
    Merci de ton aide.
    Bruno

Discussions similaires

  1. [SDK]Email report / paramètres multiples
    Par Sunchaser dans le forum Cognos
    Réponses: 1
    Dernier message: 27/02/2011, 19h16
  2. [PHP 5.0] envoi email multiple sur formulaire php
    Par trobador dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2010, 15h04
  3. Email Multiple en javascript ?
    Par Bigoodheart dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 16/04/2010, 17h17
  4. Envoi email avec liste de choix multiple
    Par Renardo dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/08/2008, 19h36
  5. [Mail] envois d'email multiples
    Par waldoun dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2007, 21h00

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