Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problèmes envoi mail en masse

2 réponses
Avatar
TEV
Désolé de ne pas avoir répondu plus tôt, je suis sur trois projets en même
temps, je n'ai pas pu me mettre dessus le temps nécessaire.

Après différents tests, je me suis aperçu que le problème provenait de
l'envoi de mes entêtes et de leur compréhension par les différents serveurs.

Voici mon code qui intervient après la réponse de SMTP à la commande DATA.

' Encode le message
corpsMsg = base64_encode(Message)

' Envoie les en-têtes du message
' L'objet du message
Winsock.SendData "Subject: " & objMsg & vbLf
' De qui est le mail
Winsock.SendData "From: MoiMême <" & adMail & ">"
& vbLf
' A qui est adressé le message
toNomMail = AdresseDestinataire(1)
Winsock.SendData "To: " & toNomMail & vbLf

' Définit le mail comme étant un mail simple
Winsock.SendData "MIME-Version: 1.0" & vbLf
' Signale qu'il s'agit d'un message encodé en base64
Winsock.SendData "Content-Transfer-Encoding: base64" & vbLf
& vbLf */ Si je retire un vbLf le coprsMessage s'ecrit dans l'entête. /*

Winsock.SendData corpsMsg & vbLf


' Envoie un point pour indiquer la fin de l'envoie des
données
Winsock.SendData vbCrLf & "." & vbCrLf

Après la réponse d'envoi du message par SMTP je comptabilise le mail comme
étant envoyé, puis je passe à l'adresse suivante...

Christian.

"TEV" <toto@caramail.com> a écrit dans le message de news:
408ea005$0$6341$79c14f64@nan-newsreader-03.noos.net...
> Par défaut, tout les domaines figurent dans la base de données, de plus ce
> sont les utilisateurs qui saisissent leur adresse mail. C'est pourquoi, un
> test de syntaxe est réalisé avant de procéder à l'envoi proprement dit.
Dans
> le cas ou effectivement le nom de domaine n'est pas reconnu par le
serveur,
> j'ai un process d'erreur qui permet de repartir sur une nouvelle adresse
et
> recommencer le processus d'envoi.
>
> De plus, je ne peux enchaîner les tâches que si la précédente est
terminée,
> notamment l'envoi proprement dit. A moins que ... Du coup tu me donnes une
> idée. Je l'essaie demain et je te tiens au courant.
>
> Christian.
> "Himselff" <info@dmsinc.ca> a écrit dans le message de news:
> Q1tjc.818$m45.2934@news20.bellglobal.com...
> > Une autre petite chose , quand un mail est envoyé que mon serveur de
> > courriel regarde c'est que l'adresse de la personne qui envoie est bien
> > valide, par exemple si dans ton script tu envoi un courriel comme si ton
> > adresse etait monEmail@mondomain.com sa ne passerait pas, par contre si
tu
> > utilise une adresse valide genre la même que ton compte de courriel sa
> > fonctionne très bien ,
> >
> > Une autre chose que je peux penser est que tu tente d'envoyer un second
> mail
> > quand la communication avec le serveur pour le premier n'est pas
complete,
> > sa peux causer des problème aussi !
> >
> > Bonne chance !
> >
> > Fred
> > "TEV" <toto@caramail.com> wrote in message
> > news:408e578a$0$4933$79c14f64@nan-newsreader-03.noos.net...
> > > Merci pour la réponse.
> > > Les messages sont envoyés personne par personne (un message = une
> > adresse).
> > > Le message est composé uniquement de texte, au format texte, sans
aucun
> > > attachement.
> > >
> > > Christian.
> > >
> > > "Himselff" <info@dmsinc.ca> a écrit dans le message de news:
> > > Xjsjc.815$m45.2915@news20.bellglobal.com...
> > > > Étant Administrateur réseau , mon filtre de polluriel scan la
quantité
> > de
> > > > destinataire du courriel et bloque sil dépasse 10 personnes donc sa
> peut
> > > > être le problème, encore pire s'il contient des attachement ou du
HTML
> > > pure
> > > > !
> > > >
> > > > Fred
> > > >
> > > > "TEV" <toto@caramail.com> wrote in message
> > > > news:408e09e6$0$2380$79c14f64@nan-newsreader-01.noos.net...
> > > > > Merci pour la réponse.
> > > > >
> > > > > Il s'agit de Wanadoo. Auparavant ces envois se faisaient avec
> Outlook
> > et
> > > > > aucun problèmes ne se passaient. Je ne sais pas.
> > > > >
> > > > > Christian.
> > > > >
> > > > > "Christian HUBERT-HUGOUD- Xtrem7" <c.hubert-hugoud@xtrem7.com> a
> écrit
> > > > dans
> > > > > le message de news: c6l07j$gf9$1@news-reader3.wanadoo.fr...
> > > > > > Bonjour,
> > > > > >
> > > > > > C'est peut-être du coté de ton provider qu'est le pb ???
> > > > > >
> > > > > > Christian
> > > > > >
> > > > > > "TEV" <toto@caramail.com> a écrit dans le message de
> > > > > > news:408d6f9e$0$27986$79c14f64@nan-newsreader-01.noos.net...
> > > > > > > Bonjour,
> > > > > > >
> > > > > > > j'ai développé une application d'envoi de mail en masse (à des
> > > > personnes
> > > > > > qui
> > > > > > > sont abonnées à un service, je tiens à le préciser)
> > > > > > > Lors des tests "grandeur nature", je me suis aperçu par les
> > > remarques
> > > > de
> > > > > > > personnes qui me disent recevoir ces mails sans le corps
> seulement
> > > > avec
> > > > > > > l'objet et l'entête, que j'ai un problème.
> > > > > > >
> > > > > > > J'avoue que je ne vois pas trop comment cela est possible
> d'autant
> > > que
> > > > > > cela
> > > > > > > ne s'adresse à seulement peut être une dizaine au max
vingtaine
> de
> > > > > > personne
> > > > > > > sur 2 ou 3000 (nous n'avons pas testé à plus).
> > > > > > >
> > > > > > > Le déroulement du programme est on ne peut plus classique.
Après
> > le
> > > > > vbcrlf
> > > > > > > "." vbcrlf du DATA j'affiche le compte de l'envoi et fais
> > progresser
> > > > une
> > > > > > > barre.
> > > > > > >
> > > > > > > Ensuite je passe à l'adresse suivante, je regarde si elle est
> > valide
> > > > > > > (syntaxe) puis je recommence le processus à partir de Mail
From.
> > > > > > >
> > > > > > > Si quelqu'un a déjà vécu cela qu'il n'hésite surtout pas à
m'en
> > > > parler.
> > > > > > >
> > > > > > > Christian.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

2 réponses

Avatar
ng
Salut,
Tu réencodes à chaque passage de la boucle ?
Il seraut plus judicieux de stocker cela une bonne fois pour toute dans une
variable.

corpsMsg = base64_encode(Message)


Seules les PJs sont à encoder, il faut aussi faire attention à respecter le
type MIME, et à placer des retour à la ligne dans ton encodage.


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

TEV a écrit :

Désolé de ne pas avoir répondu plus tôt, je suis sur trois projets en
même temps, je n'ai pas pu me mettre dessus le temps nécessaire.

Après différents tests, je me suis aperçu que le problème provenait de
l'envoi de mes entêtes et de leur compréhension par les différents
serveurs.

Voici mon code qui intervient après la réponse de SMTP à la commande
DATA.

' Encode le message
corpsMsg = base64_encode(Message)

' Envoie les en-têtes du message
' L'objet du message
Winsock.SendData "Subject: " & objMsg & vbLf
' De qui est le mail
Winsock.SendData "From: MoiMême <" & adMail & ">"
& vbLf
' A qui est adressé le message
toNomMail = AdresseDestinataire(1)
Winsock.SendData "To: " & toNomMail & vbLf

' Définit le mail comme étant un mail simple
Winsock.SendData "MIME-Version: 1.0" & vbLf
' Signale qu'il s'agit d'un message encodé en base64
Winsock.SendData "Content-Transfer-Encoding: base64"
& vbLf & vbLf */ Si je retire un vbLf le coprsMessage s'ecrit dans
l'entête. /*

Winsock.SendData corpsMsg & vbLf


' Envoie un point pour indiquer la fin de l'envoie des
données
Winsock.SendData vbCrLf & "." & vbCrLf

Après la réponse d'envoi du message par SMTP je comptabilise le mail
comme étant envoyé, puis je passe à l'adresse suivante...

Christian.

"TEV" a écrit dans le message de news:
408ea005$0$6341$
Par défaut, tout les domaines figurent dans la base de données, de
plus ce sont les utilisateurs qui saisissent leur adresse mail.
C'est pourquoi, un test de syntaxe est réalisé avant de procéder à
l'envoi proprement dit. Dans le cas ou effectivement le nom de
domaine n'est pas reconnu par le serveur, j'ai un process d'erreur
qui permet de repartir sur une nouvelle adresse et recommencer le
processus d'envoi.

De plus, je ne peux enchaîner les tâches que si la précédente est
terminée, notamment l'envoi proprement dit. A moins que ... Du coup
tu me donnes une idée. Je l'essaie demain et je te tiens au courant.

Christian.
"Himselff" a écrit dans le message de news:
Q1tjc.818$
Une autre petite chose , quand un mail est envoyé que mon serveur de
courriel regarde c'est que l'adresse de la personne qui envoie est
bien valide, par exemple si dans ton script tu envoi un courriel
comme si ton adresse etait sa ne passerait
pas, par contre si tu utilise une adresse valide genre la même que
ton compte de courriel sa fonctionne très bien ,

Une autre chose que je peux penser est que tu tente d'envoyer un
second mail quand la communication avec le serveur pour le premier
n'est pas complete, sa peux causer des problème aussi !

Bonne chance !

Fred
"TEV" wrote in message
news:408e578a$0$4933$
Merci pour la réponse.
Les messages sont envoyés personne par personne (un message = une
adresse). Le message est composé uniquement de texte, au format
texte, sans aucun attachement.

Christian.

"Himselff" a écrit dans le message de news:
Xjsjc.815$
Étant Administrateur réseau , mon filtre de polluriel scan la
quantité de destinataire du courriel et bloque sil dépasse 10
personnes donc sa peut être le problème, encore pire s'il
contient des attachement ou du HTML pure !

Fred

"TEV" wrote in message
news:408e09e6$0$2380$
Merci pour la réponse.

Il s'agit de Wanadoo. Auparavant ces envois se faisaient avec
Outlook et aucun problèmes ne se passaient. Je ne sais pas.

Christian.

"Christian HUBERT-HUGOUD- Xtrem7" a
écrit dans le message de news:
c6l07j$gf9$
Bonjour,

C'est peut-être du coté de ton provider qu'est le pb ???

Christian

"TEV" a écrit dans le message de
news:408d6f9e$0$27986$
Bonjour,

j'ai développé une application d'envoi de mail en masse (à des
personnes qui sont abonnées à un service, je tiens à le
préciser)
Lors des tests "grandeur nature", je me suis aperçu par les
remarques de personnes qui me disent recevoir ces mails sans
le corps seulement avec l'objet et l'entête, que j'ai un
problème.

J'avoue que je ne vois pas trop comment cela est possible












d'autant
que
cela
ne s'adresse à seulement peut être une dizaine au max














vingtaine
de
personne
sur 2 ou 3000 (nous n'avons pas testé à plus).

Le déroulement du programme est on ne peut plus classique.














Après
le
vbcrlf
"." vbcrlf du DATA j'affiche le compte de l'envoi et fais
progresser une barre.

Ensuite je passe à l'adresse suivante, je regarde si elle est
valide (syntaxe) puis je recommence le processus à partir de
Mail From.

Si quelqu'un a déjà vécu cela qu'il n'hésite surtout pas à
m'en parler.

Christian.
















Avatar
TEV
Je suis entièrement d'accord. Seulement en plus du message j'ai des données
à insérer qui sont variables selon la personne. Et en codage base64 après
différents tests je me suis rendu compte que je ne pouvais pas rajouté
l'élément variable au message fixe.

Dans les différentes versions j'ai testé avec des vbCrLf, également sans
codage d'aucune sorte directement en 8 bits, en envoyant au serveur SMTP le
message ligne par ligne. Rien y fait c'est pareille.

Là je viens de terminer une version avec codage en Quoted-Printable,
j'espère la tester demain. l'avantage est que je ne suis pas obligé de
réencodé le message à chaque passage seulement la partie variable qu'il me
suffit d'ajouter au message principal. De plus je pense envoyer le message
au serveur SMTP ligne par ligne. Je code également l'entête, From, Subject
en Quoted. J'espère que là cela marchera.

Christian.

"ng" a écrit dans le message de news:
#
Salut,
Tu réencodes à chaque passage de la boucle ?
Il seraut plus judicieux de stocker cela une bonne fois pour toute dans


une
variable.

>corpsMsg = base64_encode(Message)
Seules les PJs sont à encoder, il faut aussi faire attention à respecter


le
type MIME, et à placer des retour à la ligne dans ton encodage.


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/

TEV a écrit :

> Désolé de ne pas avoir répondu plus tôt, je suis sur trois projets en
> même temps, je n'ai pas pu me mettre dessus le temps nécessaire.
>
> Après différents tests, je me suis aperçu que le problème provenait de
> l'envoi de mes entêtes et de leur compréhension par les différents
> serveurs.
>
> Voici mon code qui intervient après la réponse de SMTP à la commande
> DATA.
>
> ' Encode le message
> corpsMsg = base64_encode(Message)
>
> ' Envoie les en-têtes du message
> ' L'objet du message
> Winsock.SendData "Subject: " & objMsg & vbLf
> ' De qui est le mail
> Winsock.SendData "From: MoiMême <" & adMail & ">"
> & vbLf
> ' A qui est adressé le message
> toNomMail = AdresseDestinataire(1)
> Winsock.SendData "To: " & toNomMail & vbLf
>
> ' Définit le mail comme étant un mail simple
> Winsock.SendData "MIME-Version: 1.0" & vbLf
> ' Signale qu'il s'agit d'un message encodé en base64
> Winsock.SendData "Content-Transfer-Encoding: base64"
> & vbLf & vbLf */ Si je retire un vbLf le coprsMessage s'ecrit dans
> l'entête. /*
>
> Winsock.SendData corpsMsg & vbLf
>
>
> ' Envoie un point pour indiquer la fin de l'envoie des
> données
> Winsock.SendData vbCrLf & "." & vbCrLf
>
> Après la réponse d'envoi du message par SMTP je comptabilise le mail
> comme étant envoyé, puis je passe à l'adresse suivante...
>
> Christian.
>
> "TEV" a écrit dans le message de news:
> 408ea005$0$6341$
>> Par défaut, tout les domaines figurent dans la base de données, de
>> plus ce sont les utilisateurs qui saisissent leur adresse mail.
>> C'est pourquoi, un test de syntaxe est réalisé avant de procéder à
>> l'envoi proprement dit. Dans le cas ou effectivement le nom de
>> domaine n'est pas reconnu par le serveur, j'ai un process d'erreur
>> qui permet de repartir sur une nouvelle adresse et recommencer le
>> processus d'envoi.
>>
>> De plus, je ne peux enchaîner les tâches que si la précédente est
>> terminée, notamment l'envoi proprement dit. A moins que ... Du coup
>> tu me donnes une idée. Je l'essaie demain et je te tiens au courant.
>>
>> Christian.
>> "Himselff" a écrit dans le message de news:
>> Q1tjc.818$
>>> Une autre petite chose , quand un mail est envoyé que mon serveur de
>>> courriel regarde c'est que l'adresse de la personne qui envoie est
>>> bien valide, par exemple si dans ton script tu envoi un courriel
>>> comme si ton adresse etait sa ne passerait
>>> pas, par contre si tu utilise une adresse valide genre la même que
>>> ton compte de courriel sa fonctionne très bien ,
>>>
>>> Une autre chose que je peux penser est que tu tente d'envoyer un
>>> second mail quand la communication avec le serveur pour le premier
>>> n'est pas complete, sa peux causer des problème aussi !
>>>
>>> Bonne chance !
>>>
>>> Fred
>>> "TEV" wrote in message
>>> news:408e578a$0$4933$
>>>> Merci pour la réponse.
>>>> Les messages sont envoyés personne par personne (un message = une
>>>> adresse). Le message est composé uniquement de texte, au format
>>>> texte, sans aucun attachement.
>>>>
>>>> Christian.
>>>>
>>>> "Himselff" a écrit dans le message de news:
>>>> Xjsjc.815$
>>>>> Étant Administrateur réseau , mon filtre de polluriel scan la
>>>>> quantité de destinataire du courriel et bloque sil dépasse 10
>>>>> personnes donc sa peut être le problème, encore pire s'il
>>>>> contient des attachement ou du HTML pure !
>>>>>
>>>>> Fred
>>>>>
>>>>> "TEV" wrote in message
>>>>> news:408e09e6$0$2380$
>>>>>> Merci pour la réponse.
>>>>>>
>>>>>> Il s'agit de Wanadoo. Auparavant ces envois se faisaient avec
>>>>>> Outlook et aucun problèmes ne se passaient. Je ne sais pas.
>>>>>>
>>>>>> Christian.
>>>>>>
>>>>>> "Christian HUBERT-HUGOUD- Xtrem7" a
>>>>>> écrit dans le message de news:
>>>>>> c6l07j$gf9$
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> C'est peut-être du coté de ton provider qu'est le pb ???
>>>>>>>
>>>>>>> Christian
>>>>>>>
>>>>>>> "TEV" a écrit dans le message de
>>>>>>> news:408d6f9e$0$27986$
>>>>>>>> Bonjour,
>>>>>>>>
>>>>>>>> j'ai développé une application d'envoi de mail en masse (à des
>>>>>>>> personnes qui sont abonnées à un service, je tiens à le
>>>>>>>> préciser)
>>>>>>>> Lors des tests "grandeur nature", je me suis aperçu par les
>>>>>>>> remarques de personnes qui me disent recevoir ces mails sans
>>>>>>>> le corps seulement avec l'objet et l'entête, que j'ai un
>>>>>>>> problème.
>>>>>>>>
>>>>>>>> J'avoue que je ne vois pas trop comment cela est possible
>> d'autant
>>>> que
>>>>>>> cela
>>>>>>>> ne s'adresse à seulement peut être une dizaine au max
> vingtaine
>> de
>>>>>>> personne
>>>>>>>> sur 2 ou 3000 (nous n'avons pas testé à plus).
>>>>>>>>
>>>>>>>> Le déroulement du programme est on ne peut plus classique.
> Après
>>> le
>>>>>> vbcrlf
>>>>>>>> "." vbcrlf du DATA j'affiche le compte de l'envoi et fais
>>>>>>>> progresser une barre.
>>>>>>>>
>>>>>>>> Ensuite je passe à l'adresse suivante, je regarde si elle est
>>>>>>>> valide (syntaxe) puis je recommence le processus à partir de
>>>>>>>> Mail From.
>>>>>>>>
>>>>>>>> Si quelqu'un a déjà vécu cela qu'il n'hésite surtout pas à
>>>>>>>> m'en parler.
>>>>>>>>
>>>>>>>> Christian.