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

Problème avec envoi mail avec Winsock

6 réponses
Avatar
TEV
Bonjour,

J'utilise winsock pour envoyer de mails via SMTP. Je code le message à
envoyer en base64. Celui-ci est composé d'une partie fixe et d'un numéro
généré au moment de l'envoi.

Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un nombre de 4
chiffres (genre 1456) Outlook ne m'affiche que les 3 premiers chiffres
(exemple 145). Par contre si j'ai un nombre de 5 chiffres non seulement il
apparaît normalement mais en plus le double guillemet suit le nombre. Sur
des nombres de 3 ou 2 chiffres cela marche mais je n'ai pas de guillemet de
fin. Enfin sur un chiffre parfois il me l'affiche par fois rien.

Et au comble je regarde le même mail sur une boîte (type caramail) les
nombres sont bons.

Quelqu'un voit t-il d'où cela pourrait venir ?

Christian.

6 réponses

Avatar
ng
Salut,

Un nombre dans le corps du message ?! En texte ? HTML ? Dans le sujet ?
Sinon voir les RFCs MIME & SMTP.

--
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 :

Bonjour,

J'utilise winsock pour envoyer de mails via SMTP. Je code le message à
envoyer en base64. Celui-ci est composé d'une partie fixe et d'un
numéro généré au moment de l'envoi.

Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
premiers chiffres (exemple 145). Par contre si j'ai un nombre de 5
chiffres non seulement il apparaît normalement mais en plus le double
guillemet suit le nombre. Sur des nombres de 3 ou 2 chiffres cela
marche mais je n'ai pas de guillemet de fin. Enfin sur un chiffre
parfois il me l'affiche par fois rien.

Et au comble je regarde le même mail sur une boîte (type caramail) les
nombres sont bons.

Quelqu'un voit t-il d'où cela pourrait venir ?

Christian.


Avatar
TEV
Merci pour la réponse.

Cet ajout de numéro se trouve dans le corps du message en format texte. En
fait il se positionne après le texte lui même.
Visiblement cela viendrait de la fonction de codage en base 64, mais si je
le met ce chiffre dans le texte en dur cela marche.

Donc je ne sais pas trop.

Christian.
"ng" a écrit dans le message de news:
#
Salut,

Un nombre dans le corps du message ?! En texte ? HTML ? Dans le sujet ?
Sinon voir les RFCs MIME & SMTP.

--
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 :

> Bonjour,
>
> J'utilise winsock pour envoyer de mails via SMTP. Je code le message à
> envoyer en base64. Celui-ci est composé d'une partie fixe et d'un
> numéro généré au moment de l'envoi.
>
> Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
> nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
> premiers chiffres (exemple 145). Par contre si j'ai un nombre de 5
> chiffres non seulement il apparaît normalement mais en plus le double
> guillemet suit le nombre. Sur des nombres de 3 ou 2 chiffres cela
> marche mais je n'ai pas de guillemet de fin. Enfin sur un chiffre
> parfois il me l'affiche par fois rien.
>
> Et au comble je regarde le même mail sur une boîte (type caramail) les
> nombres sont bons.
>
> Quelqu'un voit t-il d'où cela pourrait venir ?
>
> Christian.




Avatar
ng
Salut,

Puis-je voir la source du message que tu envoies (quand ca ne marche pas) ?

--
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 :

Merci pour la réponse.

Cet ajout de numéro se trouve dans le corps du message en format
texte. En fait il se positionne après le texte lui même.
Visiblement cela viendrait de la fonction de codage en base 64, mais
si je le met ce chiffre dans le texte en dur cela marche.

Donc je ne sais pas trop.

Christian.
"ng" a écrit dans le message de news:
#
Salut,

Un nombre dans le corps du message ?! En texte ? HTML ? Dans le
sujet ? Sinon voir les RFCs MIME & SMTP.

--
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 :

Bonjour,

J'utilise winsock pour envoyer de mails via SMTP. Je code le
message à envoyer en base64. Celui-ci est composé d'une partie fixe
et d'un numéro généré au moment de l'envoi.

Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
premiers chiffres (exemple 145). Par contre si j'ai un nombre de 5
chiffres non seulement il apparaît normalement mais en plus le
double guillemet suit le nombre. Sur des nombres de 3 ou 2 chiffres
cela marche mais je n'ai pas de guillemet de fin. Enfin sur un
chiffre parfois il me l'affiche par fois rien.

Et au comble je regarde le même mail sur une boîte (type caramail)
les nombres sont bons.

Quelqu'un voit t-il d'où cela pourrait venir ?

Christian.






Avatar
TEV
La teneur exacte du message ne peut être divulgué et est variable selon les
séries d'envois. Par contre, je montre le principe.

Le corps du message est contenu dans une variable texte, la mention légale
(appelée signature) complémente le corps du message et se termine ainsi :
Vous pouvez vous "désabonner ici
à la suite de quoi j'ajoute l'id et ferme les guillemets

dans le code cela donne ça :

Message = CorpsMessage & vbcrlf & signature & NumId & chr(34)
MsgEncode = encodage64(Message)

[...]

Winsock.SendData MsgEncode

Et donc, comme j'ai pu l'indiquer certains nombre (matérialisé par NumId) à
5 ou 6 chiffres passent avec les guillemets. D'autres à 3 chiffres passent
mais sans les guillemets de fin. Ceux de quatre, ne montrent que 3 chiffres.
Enfin les chiffres uniques ne se voient pas. Cela seulement sur Outlook.

Christian.
"ng" a écrit dans le message de news:

Salut,

Puis-je voir la source du message que tu envoies (quand ca ne marche pas)


?

--
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 :

> Merci pour la réponse.
>
> Cet ajout de numéro se trouve dans le corps du message en format
> texte. En fait il se positionne après le texte lui même.
> Visiblement cela viendrait de la fonction de codage en base 64, mais
> si je le met ce chiffre dans le texte en dur cela marche.
>
> Donc je ne sais pas trop.
>
> Christian.
> "ng" a écrit dans le message de news:
> #
>> Salut,
>>
>> Un nombre dans le corps du message ?! En texte ? HTML ? Dans le
>> sujet ? Sinon voir les RFCs MIME & SMTP.
>>
>> --
>> 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 :
>>
>>> Bonjour,
>>>
>>> J'utilise winsock pour envoyer de mails via SMTP. Je code le
>>> message à envoyer en base64. Celui-ci est composé d'une partie fixe
>>> et d'un numéro généré au moment de l'envoi.
>>>
>>> Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
>>> nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
>>> premiers chiffres (exemple 145). Par contre si j'ai un nombre de 5
>>> chiffres non seulement il apparaît normalement mais en plus le
>>> double guillemet suit le nombre. Sur des nombres de 3 ou 2 chiffres
>>> cela marche mais je n'ai pas de guillemet de fin. Enfin sur un
>>> chiffre parfois il me l'affiche par fois rien.
>>>
>>> Et au comble je regarde le même mail sur une boîte (type caramail)
>>> les nombres sont bons.
>>>
>>> Quelqu'un voit t-il d'où cela pourrait venir ?
>>>
>>> Christian.




Avatar
TEV
Ca y est je viens de trouver. En fait il me suffit de rajouter vbcrlf à la
suite de chr(34)
ce qui donne ça :

Message = CorpsMessage & vbcrlf & signature & NumId & chr(34) & VbCrlf
MsgEncode = encodage64(Message)

Du coup tout les tests sont concluants.

En tous les cas je te remercie vraiment de ton aide. Cela m'a été beaucoup
plus précieux que tu ne peux peut être l'imaginer.

Christian.
"TEV" a écrit dans le message de news:
40885321$0$25118$
La teneur exacte du message ne peut être divulgué et est variable selon


les
séries d'envois. Par contre, je montre le principe.

Le corps du message est contenu dans une variable texte, la mention légale
(appelée signature) complémente le corps du message et se termine ainsi :
Vous pouvez vous "désabonner ici
à la suite de quoi j'ajoute l'id et ferme les guillemets

dans le code cela donne ça :

Message = CorpsMessage & vbcrlf & signature & NumId & chr(34)
MsgEncode = encodage64(Message)

[...]

Winsock.SendData MsgEncode

Et donc, comme j'ai pu l'indiquer certains nombre (matérialisé par NumId)


à
5 ou 6 chiffres passent avec les guillemets. D'autres à 3 chiffres passent
mais sans les guillemets de fin. Ceux de quatre, ne montrent que 3


chiffres.
Enfin les chiffres uniques ne se voient pas. Cela seulement sur Outlook.

Christian.
"ng" a écrit dans le message de news:

> Salut,
>
> Puis-je voir la source du message que tu envoies (quand ca ne marche


pas)
?
>
> --
> 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 :
>
> > Merci pour la réponse.
> >
> > Cet ajout de numéro se trouve dans le corps du message en format
> > texte. En fait il se positionne après le texte lui même.
> > Visiblement cela viendrait de la fonction de codage en base 64, mais
> > si je le met ce chiffre dans le texte en dur cela marche.
> >
> > Donc je ne sais pas trop.
> >
> > Christian.
> > "ng" a écrit dans le message de news:
> > #
> >> Salut,
> >>
> >> Un nombre dans le corps du message ?! En texte ? HTML ? Dans le
> >> sujet ? Sinon voir les RFCs MIME & SMTP.
> >>
> >> --
> >> 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 :
> >>
> >>> Bonjour,
> >>>
> >>> J'utilise winsock pour envoyer de mails via SMTP. Je code le
> >>> message à envoyer en base64. Celui-ci est composé d'une partie fixe
> >>> et d'un numéro généré au moment de l'envoi.
> >>>
> >>> Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
> >>> nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
> >>> premiers chiffres (exemple 145). Par contre si j'ai un nombre de 5
> >>> chiffres non seulement il apparaît normalement mais en plus le
> >>> double guillemet suit le nombre. Sur des nombres de 3 ou 2 chiffres
> >>> cela marche mais je n'ai pas de guillemet de fin. Enfin sur un
> >>> chiffre parfois il me l'affiche par fois rien.
> >>>
> >>> Et au comble je regarde le même mail sur une boîte (type caramail)
> >>> les nombres sont bons.
> >>>
> >>> Quelqu'un voit t-il d'où cela pourrait venir ?
> >>>
> >>> Christian.
>
>




Avatar
ng
Ok ;)

--
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 :

Ca y est je viens de trouver. En fait il me suffit de rajouter vbcrlf
à la suite de chr(34)
ce qui donne ça :

Message = CorpsMessage & vbcrlf & signature & NumId & chr(34) & VbCrlf
MsgEncode = encodage64(Message)

Du coup tout les tests sont concluants.

En tous les cas je te remercie vraiment de ton aide. Cela m'a été
beaucoup plus précieux que tu ne peux peut être l'imaginer.

Christian.
"TEV" a écrit dans le message de news:
40885321$0$25118$
La teneur exacte du message ne peut être divulgué et est variable
selon les séries d'envois. Par contre, je montre le principe.

Le corps du message est contenu dans une variable texte, la mention
légale (appelée signature) complémente le corps du message et se
termine ainsi : Vous pouvez vous "désabonner ici
à la suite de quoi j'ajoute l'id et ferme les guillemets

dans le code cela donne ça :

Message = CorpsMessage & vbcrlf & signature & NumId & chr(34)
MsgEncode = encodage64(Message)

[...]

Winsock.SendData MsgEncode

Et donc, comme j'ai pu l'indiquer certains nombre (matérialisé par
NumId) à 5 ou 6 chiffres passent avec les guillemets. D'autres à 3
chiffres passent mais sans les guillemets de fin. Ceux de quatre, ne
montrent que 3 chiffres. Enfin les chiffres uniques ne se voient
pas. Cela seulement sur Outlook.

Christian.
"ng" a écrit dans le message de news:

Salut,

Puis-je voir la source du message que tu envoies (quand ca ne
marche pas) ?

--
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 :

Merci pour la réponse.

Cet ajout de numéro se trouve dans le corps du message en format
texte. En fait il se positionne après le texte lui même.
Visiblement cela viendrait de la fonction de codage en base 64,
mais si je le met ce chiffre dans le texte en dur cela marche.

Donc je ne sais pas trop.

Christian.
"ng" a écrit dans le message de news:
#
Salut,

Un nombre dans le corps du message ?! En texte ? HTML ? Dans le
sujet ? Sinon voir les RFCs MIME & SMTP.

--
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 :

Bonjour,

J'utilise winsock pour envoyer de mails via SMTP. Je code le
message à envoyer en base64. Celui-ci est composé d'une partie
fixe et d'un numéro généré au moment de l'envoi.

Hors je viens de m'apercevoir d'un truc bizarre, lorsque j'ai un
nombre de 4 chiffres (genre 1456) Outlook ne m'affiche que les 3
premiers chiffres (exemple 145). Par contre si j'ai un nombre de
5 chiffres non seulement il apparaît normalement mais en plus le
double guillemet suit le nombre. Sur des nombres de 3 ou 2
chiffres cela marche mais je n'ai pas de guillemet de fin. Enfin
sur un chiffre parfois il me l'affiche par fois rien.

Et au comble je regarde le même mail sur une boîte (type
caramail) les nombres sont bons.

Quelqu'un voit t-il d'où cela pourrait venir ?

Christian.