Pb avec la Class Mail au format HTML

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Pb avec la Class Mail au format HTML

Messagepar mrmabo27 » 08 Oct 2009 à 09:51

Bonjour,

=> http://forum.dominoarea.org/mail-format ... 18991.html

j'utilise le même principe pour l'envoie de mail.
Mes destinataires sont la forme CN de notesname.
Certains comportent des accents dans le prénom.
en résulte l'erreur suivante :
"Impossible d'envoyer le courrier à CN=C‚dric XXXX/O=YYYY car ses coordonnées sont introuvables dans le ou les carnets d'adresses."

Je rencontre le même problème en utilisant cette classe.

Pour le corp du mail, pas de problème avec les accents.

Auriez vous une idée pour corriger ce problème ?
Merci d'avance

ps : 1 er message ça se faite !
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 10:03

bonjour

pour les question il est préférable de les poser dans les forum dédiés, j'ai donc déplacé ton post.

ensuite il nous faudrait voir ton code, mais le message d'erreur indique que l'utilisateur n'est pas trouvé, tu est certain qu'il n'y pas d'erreur sur le nom de l'utilisateur ?

et enfin : welcome
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mrmabo27 » 08 Oct 2009 à 10:19

alors voici le code que j'utilise :
Code : Tout sélectionner
Sub sendNotifHtml(s As notessession, db As NotesDatabase, sSujet As String, sCorp As String, sTo As String, sCopyTo As String, sBlindCopyTo As String)
   
   Dim docMem As notesdocument
   Dim stream As NotesStream
   Dim header As NotesMIMEHeader
   Dim body As NotesMIMEEntity
   
   On Error Goto erreur
   
   Set docMem = New NotesDocument(db)
         'pour l'envoie de mail format html
   Set stream = s.CreateStream
   s.ConvertMIME = False ' Do not convert MIME to rich text
   Set body = docMem.CreateMIMEEntity
   Set header = body.CreateHeader("Subject")
   Call header.SetHeaderVal(sSujet)
   Set header = body.CreateHeader("To")
   Call header.SetHeaderVal(sTo)
   
   If sCopyTo <> "" Then
      Set header = body.CreateHeader("CopyTo")
      Call header.SetHeaderVal(sCopyTo)      
   End If
   
   If sBlindCopyTo <> "" Then
      Set header = body.CreateHeader("BlindCopyTo")
      Call header.SetHeaderVal(sBlindCopyTo)      
   End If
   
   Call stream.writetext(|<HTML>|)
   Call stream.writetext(|<body>|)
      'Forall v In
   Call stream.writetext(sCorp)   
      'End Forall
   Call stream.writetext(|</body>|)
   Call stream.writetext(|</html>|)
   Call body.SetContentFromText(stream, "text/HTML;charset=UTF-8", ENC_IDENTITY_8BIT)
   Call docMem.Send(False)
   s.ConvertMIME = True ' Restore conversion - very important
   Exit Sub
erreur:
   Error 10000, "sendNotifHtml("+Cstr(Erl) +" " + Error +")"
End Sub


la méthode est appelée de la sorte :

Code : Tout sélectionner
Call sendNotifHtml(s, db, docParamR.getfirstitem("PRM_NotifObjet").text, docParamR.getfirstitem("PRM_NotifContenu").text, docCurrentCVP),nBal1.Canonical + ", " +nBal2.Canonical, "", "")


le corp et le sujet sont issus d'un document de paramétrage et comportent du code HTML. Pour eux le problème des accents est résolu avec :

Code : Tout sélectionner
   Call body.SetContentFromText(stream, "text/HTML;charset=UTF-8", ENC_IDENTITY_8BIT)


les notesname sont construits comme ceci :
Code : Tout sélectionner
Set nBal1 = New NotesName(docCur.GetItemValue("INS_Dest1")(0))
Set nBal1 = New NotesName(docCur.GetItemValue("INS_Dest2")(0))



Impossible d'envoyer le courrier à CN=J‚r‚my XXXX/O=YYYY car ses coordonnées sont introuvables dans le ou les carnets d'adresses.

11:09:12 ERREUR: Erreur N° 10000 en ligne 129 => sendNotifHtml(38 Unable to send mail, no match found in Name & Address Book(s))

le destinataire est en faite :
CN=Jérémy XXXX/O=YYYY

Les destinataires sont alimenté à la base via le carnet d'adresse donc c'est certain ils existent


suite à ceci j'ai donc testé la classe smartmail mentionné plus haut et j'obtiens les même erreurs :'(

Merci d'avance et désolé pour le mauvais postage !
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 10:40

re,

hum, vue que la dites call mail du tips est utilisé par pas mal de monde, m'étonnerais qu'elle plante subitement

a mon avis tu as une souci avec tes users

le traitement fonction via un agent lancé sur le server et en local ou il palnte uniquement en local ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mrmabo27 » 08 Oct 2009 à 10:47

je confirme que la classe smartmail fonctionne parfaitement !
pour les utilisateurs sans accents il n'y a aucun problème.

Lancement manuel depuis la liste des agent ou planifié même résultat.
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 10:54

re,

bon ben voila le problème :
pour les utilisateurs sans accents il n'y a aucun problème

essais un envois de mail types notes histoire de voir si tu as le meme message d'erreur
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mrmabo27 » 08 Oct 2009 à 13:04

Code : Tout sélectionner
Set memo = New NotesDocument(db)

memo.SendTo = "Jérémy XXX/YYY"
memo.Subject = "Test"
memo.Body = "Test"
   
memo.send(False)


fonctionne sans problèmes !

le problème est que lors du setHeaderVal les accents sont remplacés par des "," et je ne sais pas pourquoi
Dernière édition par mrmabo27 le 08 Oct 2009 à 13:11, édité 1 fois.
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 13:09

et avec un nom sous ça forme canonique ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mrmabo27 » 08 Oct 2009 à 13:12

Michael DELIQUE a écrit:et avec un nom sous ça forme canonique ?


même résultat

le problème est que lors du setHeaderVal les accents sont remplacés par des "," et je ne sais pas pourquoi

Bon ben il n'y a pas d'accent dans le carnet d'adresse du client donc pas de problèmes. Cependant si quelqu'un a une solution je reste preneur.
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 13:27

a mon avis ça peut etre un pb de charset

regarde si le charset utilisé pour ton mail supporte les accent ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 08 Oct 2009 à 13:28

d'un autre coté, comme dirais certain

un nom d'utilisateur avec un accent, ont le fait pas !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mrmabo27 » 08 Oct 2009 à 13:29

Michael DELIQUE a écrit:a mon avis ça peut etre un pb de charset

regarde si le charset utilisé pour ton mail supporte les accent ?


je ne sais pas comment le modifier pour le header :/
mrmabo27
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 08 Oct 2009 à 09:48
Localisation : Amiens(80)

Messagepar Michael DELIQUE » 08 Oct 2009 à 13:41

regarde comment la class mail fait

sinon essais une conversion des noms pour retirer les accents
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar roubech » 08 Oct 2009 à 22:00

bonjour

je serai tenter d'utiliser les noms au format Notes dans un champ Notes SendTo comme dans l'exemple de code de Michael
Par contre, si tu renseigne le destinataire directement dans le format MIME, il te faut mettre une adresse au format MIME, donc internet
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement

cron