OVH Cloud OVH Cloud

[Windev8] EmailEnvoieMessage

6 réponses
Avatar
Eric Regnier \(B\)
Salut toutes et tous,

J'ai précisé Windev8, mais mon problème concerne peut-être d'autres
versions de Windev (ou carrément pas Windev).

Description des traitements:
1) Lecture d'un fichier de destinataires
2) Pour chaque destinataire:
- EmailOuvreSessionSMTP
- EmailRAZ et initialisation des composantes du mail
- EmailEnvoieMessage
- EmailFermeSession

Tout ceci fonctionne très bien de façon générale.
Le problème se pose lorsque le nombre de destinataires dépasse un
certain nombre (petit: de l'ordre d'une centaine). Je reçois alors le
message "vous avez temporairement dépassé le nombre d'envois de mails
maximal" sur l'utilisation de la fonction EmailEnvoieMessage.

Cela évoque-t-il quelque chose à quelqu'un?
A votre avis, problème Windev ou autre?

Merci d'avance,

--
Eric.

6 réponses

Avatar
news
le nombre de destinataire est limité a 20 d'apres l'aide

"Eric Regnier (B)" a écrit dans le message de news:
4586d3b6$0$25947$
Salut toutes et tous,

J'ai précisé Windev8, mais mon problème concerne peut-être d'autres
versions de Windev (ou carrément pas Windev).

Description des traitements:
1) Lecture d'un fichier de destinataires
2) Pour chaque destinataire:
- EmailOuvreSessionSMTP
- EmailRAZ et initialisation des composantes du mail
- EmailEnvoieMessage
- EmailFermeSession

Tout ceci fonctionne très bien de façon générale.
Le problème se pose lorsque le nombre de destinataires dépasse un certain
nombre (petit: de l'ordre d'une centaine). Je reçois alors le message
"vous avez temporairement dépassé le nombre d'envois de mails maximal" sur
l'utilisation de la fonction EmailEnvoieMessage.

Cela évoque-t-il quelque chose à quelqu'un?
A votre avis, problème Windev ou autre?

Merci d'avance,

--
Eric.



Avatar
Eric Regnier \(B\)
Bonjour,

le nombre de destinataire est limité a 20 d'apres l'aide



Le tableau "Destinataires", oui.
Mais là, ce n'est pas le problème car je n'ai toujours qu'un seul
destinataire à chaque envoi (je ferme et rouvre la session à chaque
destinataire).

Cordialement,

--
Eric.
Avatar
Frédéric MOLL
Le 18/12/2006, Eric Regnier (B) a supposé :
Bonjour,

le nombre de destinataire est limité a 20 d'apres l'aide



Le tableau "Destinataires", oui.
Mais là, ce n'est pas le problème car je n'ai toujours qu'un seul
destinataire à chaque envoi (je ferme et rouvre la session à chaque
destinataire).

Cordialement,



Bonjour,

j'ai fait (en WD) des boucles de lecture requete/ envoi d'emails
personnalisés de plusieurs centaines sans avoir ce message
message de windev ou pas? voir plutot coté limitation sur le serveur
smtp, quelle est ta config? smtp générique de ton provider, serveur
mail chez un hébergeur? si tu as le message d'erreur complet poste le

fred

--
Fred
Avatar
Georges Peyre
Bonjour
Bonjour


( Code fourni suite inscription à la lettre de Freedev )

Ceci est un message automatique de FreeDev suite à la nouvelle
publication suivante :

****************************************
Pour ceux qui font des envois de mailing, la commande Modulo() est
votre amis.


Pour ceux qui font des envois de mailing, la commande Modulo() est
votre amis.

En effet, pour les sites comme FREEDEV qui ne bénéficie pas d'un
contrat professionnel auprès de leur FAI, l'envoi de XXX emails est
souvent considéré comme du SPAM.
Pour contourner cette limitation, la technique consiste donc a ce
déconnecter du compte SMTP tous les XXX emails envoyés puis a ce
reconnecter.

Voici un exemple de code :

//Ouverture de la session SMTP
//On fixe le délai de timeout, on le fixe à 20 secondes
EmailChangeTimeOut(20)

//Init des paramètres de l'email
Email.NbDestinataire = 1
Email.Expéditeur = ""
Email.AdresseExpéditeur = ""
Email.Sujet = "FreeDev : test envoi email"
Email.Message = "FreeDev : test envoi email"

//Ouverture sessions SMTP
SI PAS EmailOuvreSessionSMTP("SessionSMTP", "smtp. free.fr") ALORS
Erreur("Erreur : Impossible d'établir la connexion" + RC +
EmailMsgErreur(Email.Erreur))
RETOUR
FIN

//***** ENVOI MAILING A 100 CONTACTS *****//

i est un entier = 1
POUR i = 1 A 100

//Je me déconnecte et reconnecte tous les 10 messages.
SI modulo(i, 10)=0 ALORS

EmailFermeSession("SessionSMTP")
& nbsp; Multitâche(100)
SI PAS EmailOuvreSessionSMTP("SessionSMTP","smtp.free.fr")
ALORS
Erreur("Erreur : Impossible d'&e acute;tablir la
connexion" + RC + EmailMsgErreur(Email.Erreur))
RETOUR
FIN
FIN

&n bsp; //On affecte le destinataire avec l'adresse contenue dans
le tableau
Email.Destinataire[1] = TabAdresseEmail[i]

// Envoie du eMail
SI PAS EmailEnvoieMessage("SessionSMTP") ALORS

ErreurInfo(errMessage))
FIN
Jauge(i,nbAdressesEmail)
FIN

--
Elle est pas belle la vie ?
Avatar
Georges Peyre
Bonjour

Message reçu suite à inscription à la Mailing liste du site Freedev



Ceci est un message automatique de FreeDev suite à la nouvelle
publication suivante :

****************************************

Pour ceux qui font des envois de mailing, la commande Modulo() est
votre amie.

En effet, pour les sites comme FREEDEV qui ne bénéficie pas d'un
contrat professionnel auprès de leur FAI, l'envoi de XXX emails est
souvent considéré comme du SPAM.
Pour contourner cette limitation, la technique consiste donc a ce
déconnecter du compte SMTP tous les XXX emails envoyés puis a ce
reconnecter.

Voici un exemple de code :

//Ouverture de la session SMTP
//On fixe le délai de timeout, on le fixe à 20 secondes
EmailChangeTimeOut(20)

//Init des paramètres de l'email
Email.NbDestinataire = 1
Email.Expéditeur = ""
Email.AdresseExpéditeur = ""
Email.Sujet = "FreeDev : test envoi email"
Email.Message = "FreeDev : test envoi email"

//Ouverture sessions SMTP
SI PAS EmailOuvreSessionSMTP("SessionSMTP", "smtp. free.fr") ALORS
Erreur("Erreur : Impossible d'établir la connexion" + RC +
EmailMsgErreur(Email.Erreur))
RETOUR
FIN

//***** ENVOI MAILING A 100 CONTACTS *****//

i est un entier = 1
POUR i = 1 A 100

//Je me déconnecte et reconnecte tous les 10 messages.
SI modulo(i, 10)=0 ALORS

EmailFermeSession("SessionSMTP")
& nbsp; Multitâche(100)
SI PAS EmailOuvreSessionSMTP("SessionSMTP","smtp.free.fr")
ALORS
Erreur("Erreur : Impossible d'&e acute;tablir la
connexion" + RC + EmailMsgErreur(Email.Erreur))
RETOUR
FIN
FIN

&n bsp; //On affecte le destinataire avec l'adresse contenue dans
le tableau
Email.Destinataire[1] = TabAdresseEmail[i]

// Envoie du eMail
SI PAS EmailEnvoieMessage("SessionSMTP") ALORS

ErreurInfo(errMessage))
FIN
Jauge(i,nbAdressesEmail)
FIN

--
Elle est pas belle la vie ?
Avatar
Eric Regnier \(B\)
Salut,

Georges Peyre a écrit:

Bonjour

Message reçu suite à inscription à la Mailing liste du site Freedev

[snip]



Oui, ok, mais moi je faisais un EmailFermeSession() et un
EmailOuvreSessionSMTP() entre chaque envoi (pour être sûr, justement).

Bon, sinon pour ceux que ça intéresse, j'ai le fin mot de l'histoire.
C'est le FAI qui est en cause (ici, il s'agit de Cegetel). Je m'en
doutais un peu depuis le départ, j'avais donc appelé l'assistance
technique qui m'avait assurer que, non monsieur, il n'y a pas de
limitation en terme de nombre de mails envoyé sur un même serveur (vous
êtes sûr? ouioui... vous êtes VRAIMENT sûr? ouioui, absolument)... d'où
ma question ici.
Seulement voilà, j'étais tombé sur un incompétent: c'est ce qu'ils
appelent chez eux l'assistance technique de premier niveau (lol).
En rappelant aujourd'hui cette fois le service commercial (il faut
TOUJOURS commencer par le service commercial), ce dernier m'a routé sur
un assistant technique de deuxième niveau (ça devient sérieux, là,
attention) et me gratifiant au passage d'un crédit de 10 euros (on
apprécie le geste).
Bilan: oui, il y a bien une limitation au niveau du nombre de mails
possibles à envoyer... on va dire dans les 50 max par minute (à la
louche). J'en saurai plus sous les 7 jours (c'est leurs délais,
impressionant). Et ce, depuis la fusion entre 9 et Cegetel, lequel
proposait à l'époque un vrai contrat "pro" alors que maintenant, ben
non. Bref, on tire encore vers le bas.

En conclusion, la solution pour mon problème consiste tout simplement en
l'ajout d'une fonction "Multitache(6000)" tous les 40 mails et, paf,
plus de problème.

--
Eric.