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

[WD11] Serveur IMAP et problème d'envoi via SMTP

3 réponses
Avatar
Fredo MT
Bonjour à tous,

soit le code suivant pour envoyer un email :

//Ouverture d'une session SMTP

EmailOuvreSessionSMTP("SessionSMTP","smtp.monserveur.com")

SI PAS ErreurDétectée ALORS

//Remise a zéro des variables Email

EmailRAZ()

//Expéditeur du message

Email.Expéditeur="expediteur@masociete.com"

//Destinataire(s) du message

Email.Destinataire[1]="destinataire@masociete.com"

Email.NbDestinataire=1

//Pièces jointes

Email.NbAttache=0

//Sujet et contenu du message

Email.Sujet="Test SMTP"

Email.Message="Test SMTP"

Email.HTML=""

//Sujet et contenu du message

EmailEnvoieMessage("SessionSMTP")

SI ErreurDétectée ALORS

Erreur(ErreurInfo(errRésumé))

FIN

//Fermeture de la session SMTP

EmailFermeSession("SessionSMTP")

SINON

SI EnModeTest() ALORS

Erreur(ErreurInfo(errRésumé))

RETOUR

FIN

Le code a été généré par l'assistant, mon serveur est un serveur IMAP, dès
que je met un accent aigu dans le sujet ou le corps du texte, l'email ne
s'envoi plus ! Comment faut-il encoder les chaines de caractères sur un
serveur IMAP ? Est-ce réellement un problème d'encodage ? Merci pour vos
lumières...



FIN

3 réponses

Avatar
Fredo MT
Apparemment ce serait une défaillance de la librairie de Windev sur les
fonctions d'envoi de mail qui ne se base pas sur la RFC2047. Un mauvais
encodage du Header en ce qui concerne le sujet est considéré comme un SPAM
par la plupart des serveurs de mail tournant sous Linux et utilisant amavis.
Ici les "é" sont mal encodés dans le sujet, le serveur considère le mail
comme du SPAM et donc je ne reçois rien....

Voili, voilou

"Fredo MT" a écrit dans le message de news:
469c68f5$0$8403$
Bonjour à tous,

soit le code suivant pour envoyer un email :

//Ouverture d'une session SMTP

EmailOuvreSessionSMTP("SessionSMTP","smtp.monserveur.com")

SI PAS ErreurDétectée ALORS

//Remise a zéro des variables Email

EmailRAZ()

//Expéditeur du message

Email.Expéditeur=""

//Destinataire(s) du message

Email.Destinataire[1]=""

Email.NbDestinataire=1

//Pièces jointes

Email.NbAttache=0

//Sujet et contenu du message

Email.Sujet="Test SMTP"

Email.Message="Test SMTP"

Email.HTML=""

//Sujet et contenu du message

EmailEnvoieMessage("SessionSMTP")

SI ErreurDétectée ALORS

Erreur(ErreurInfo(errRésumé))

FIN

//Fermeture de la session SMTP

EmailFermeSession("SessionSMTP")

SINON

SI EnModeTest() ALORS

Erreur(ErreurInfo(errRésumé))

RETOUR

FIN

Le code a été généré par l'assistant, mon serveur est un serveur IMAP, dès
que je met un accent aigu dans le sujet ou le corps du texte, l'email ne
s'envoi plus ! Comment faut-il encoder les chaines de caractères sur un
serveur IMAP ? Est-ce réellement un problème d'encodage ? Merci pour vos
lumières...



FIN




Avatar
Fredo MT
Pour ceux que ça intéresse !
Il faut passer par l'assemblage .NET System

oEmail est un MailMessage dynamique
oSmtp est un SmtpClient dynamique
oFrom est un MailAddress dynamique
oEmail = allouer un MailMessage
oEmail:Subject = "Mon sujet avec des éééééééé"
oEmail:Body = "Mon message avec des éééééééé aussi"
oFrom = allouer un MailAddress("")
oEmail:From = oFrom
//Destinataire(s) du message
oEmail:To:Add(",,")
oSmtp = allouer un SmtpClient("smtp.monserveur.com")
oSmtp:Send(oEmail)
libérer oEmail
libérer oFrom
libérer oSmtp

"Fredo MT" a écrit dans le message de news:
469c9f73$0$27959$
Apparemment ce serait une défaillance de la librairie de Windev sur les
fonctions d'envoi de mail qui ne se base pas sur la RFC2047. Un mauvais
encodage du Header en ce qui concerne le sujet est considéré comme un SPAM
par la plupart des serveurs de mail tournant sous Linux et utilisant
amavis. Ici les "é" sont mal encodés dans le sujet, le serveur considère
le mail comme du SPAM et donc je ne reçois rien....

Voili, voilou

"Fredo MT" a écrit dans le message de
news: 469c68f5$0$8403$
Bonjour à tous,

soit le code suivant pour envoyer un email :

//Ouverture d'une session SMTP

EmailOuvreSessionSMTP("SessionSMTP","smtp.monserveur.com")

SI PAS ErreurDétectée ALORS

//Remise a zéro des variables Email

EmailRAZ()

//Expéditeur du message

Email.Expéditeur=""

//Destinataire(s) du message

Email.Destinataire[1]=""

Email.NbDestinataire=1

//Pièces jointes

Email.NbAttache=0

//Sujet et contenu du message

Email.Sujet="Test SMTP"

Email.Message="Test SMTP"

Email.HTML=""

//Sujet et contenu du message

EmailEnvoieMessage("SessionSMTP")

SI ErreurDétectée ALORS

Erreur(ErreurInfo(errRésumé))

FIN

//Fermeture de la session SMTP

EmailFermeSession("SessionSMTP")

SINON

SI EnModeTest() ALORS

Erreur(ErreurInfo(errRésumé))

RETOUR

FIN

Le code a été généré par l'assistant, mon serveur est un serveur IMAP,
dès que je met un accent aigu dans le sujet ou le corps du texte, l'email
ne s'envoi plus ! Comment faut-il encoder les chaines de caractères sur
un serveur IMAP ? Est-ce réellement un problème d'encodage ? Merci pour
vos lumières...



FIN








Avatar
gimli
Fredo MT a écrit le 17/07/2007 à 16h52 :
Pour ceux que ça intéresse !
Il faut passer par l'assemblage .NET System

oEmail est un MailMessage dynamique
oSmtp est un SmtpClient dynamique
oFrom est un MailAddress dynamique
oEmail = allouer un MailMessage
oEmail:Subject = "Mon sujet avec des
éééééééé"
oEmail:Body = "Mon message avec des
éééééééé aussi"
oFrom = allouer un MailAddress("")
oEmail:From = oFrom
//Destinataire(s) du message
oEmail:To:Add(",,")
oSmtp = allouer un SmtpClient("smtp.monserveur.com")
oSmtp:Send(oEmail)
libérer oEmail
libérer oFrom
libérer oSmtp

"Fredo MT" a écrit dans
le message de news:
469c9f73$0$27959$
Apparemment ce serait une défaillance de la librairie de Windev sur les
fonctions d'envoi de mail qui ne se base pas sur la RFC2047. Un mauvais
encodage du Header en ce qui concerne le sujet est considéré
comme un SPAM
par la plupart des serveurs de mail tournant sous Linux et utilisant
amavis. Ici les "é" sont mal encodés dans le sujet, le
serveur considère
le mail comme du SPAM et donc je ne reçois rien....

Voili, voilou

"Fredo MT" a écrit
dans le message de
news: 469c68f5$0$8403$
Bonjour à tous,

soit le code suivant pour envoyer un email :

//Ouverture d'une session SMTP

EmailOuvreSessionSMTP("SessionSMTP","smtp.monserveur.com")

SI PAS ErreurDétectée ALORS

//Remise a zéro des variables Email

EmailRAZ()

//Expéditeur du message

Email.Expéditeur=""

//Destinataire(s) du message

Email.Destinataire[1]=""

Email.NbDestinataire=1

//Pièces jointes

Email.NbAttache=0

//Sujet et contenu du message

Email.Sujet="Test SMTP"

Email.Message="Test SMTP"

Email.HTML=""

//Sujet et contenu du message

EmailEnvoieMessage("SessionSMTP")

SI ErreurDétectée ALORS

Erreur(ErreurInfo(errRésumé))

FIN

//Fermeture de la session SMTP

EmailFermeSession("SessionSMTP")

SINON

SI EnModeTest() ALORS

Erreur(ErreurInfo(errRésumé))

RETOUR

FIN

Le code a été généré par l'assistant, mon
serveur est un serveur IMAP,
dès que je met un accent aigu dans le sujet ou le corps du texte,
l'email
ne s'envoi plus ! Comment faut-il encoder les chaines de caractères
sur
un serveur IMAP ? Est-ce réellement un problème d'encodage ?
Merci pour
vos lumières...



FIN












et en authentifié cela donne ça : (Attention à MAC AFFEE)
PROCEDURE send_mail(from est une chaîne,ReplyTo est une chaîne,dest est une chaîne,cc est une chaîne,bcc est une chaîne,MAIL_SUJET est une chaîne,MessageFormate est une chaîne,sUPLOAD est une chaîne,sCheminFichierSource est une chaîne,DNS_SERVEUR_MAIL est une chaîne,nPort est un entier%,bSsl est un booléen=0,sLogin est une chaîne="",sMdp est une chaîne="")

oEmail est un MailMessage dynamique
ch est une chaîne

oSmtp est un SmtpClient dynamique
oFrom est un MailAddress dynamique
oreplyto est un MailAddress dynamique
oEmail = allouer un MailMessage

oEmail:Subject =MAIL_SUJET
oEmail:Body = MessageFormate
oFrom = allouer un MailAddress(from)
oEmail:From = oFrom
oreplyto = allouer un MailAddress(ReplyTo)
oEmail:ReplyTo=oreplyto
//Destinataire(s) du message
POUR TOUTE CHAINE ch DE dest SEPAREE PAR ";"
oEmail:To:Add(ch)
FIN
POUR TOUTE CHAINE ch DE cc SEPAREE PAR ";"
oEmail:cc:Add(ch)
FIN
POUR TOUTE CHAINE ch DE bcc SEPAREE PAR ";"
oEmail:Bcc:Add(ch)
FIN
oSmtp = allouer un SmtpClient(DNS_SERVEUR_MAIL)
oSmtp:EnableSsl = bSsl
//oSmtp:UseDefaultCredentials
oSmtp:Port=nPort
oSmtp:Credentials = new NetworkCredential(sLogin,sMdp)
//désactiver mac affee
QUAND EXCEPTION DANS
oSmtp:Send(oEmail)
FAIRE
libérer oEmail
libérer oFrom
libérer oSmtp
RENVOYER ErreurInfo(errComplet)
FIN
libérer oEmail
libérer oFrom
libérer oSmtp
RENVOYER Vrai