Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/03/2007, 19h40   #1
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 30
Points : 38
Points : 38
Par défaut href ne fonctionnent pas lors d'un envoi de mail HTML avec CDO.

Dans la pluspart des webmails, quand j'envoie un mail via CDO, les liens href se voient ajouter un "!" au milieu de l'adresse, ce qui tue le lien.
J'ai contourné le problème sur les webmail testés en entourant la balise a par une balise span, mais c'est pas propre... Comment faire autrement?
J'utilise un template que je lis dans mon code ASP, et dans le template (Mail.html), je mets:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
<html>
    <head><title>Mon titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
	background-color: #6699cc;
}
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	color: #FFFFFF;
}
.Style1 {
	font-size: 24px;
	font-weight: bold;
}
a:link {
	color: #FFFFFF;
}
a:visited {
	color: #FFFFFF;
}
a:hover {
	color: #FF0000;
}
a:active {
	color: #FFFFFF;
}
.Style2 {
	font-size: x-small;
	font-style: italic;
}
.Style4 {font-size: 36px; font-weight: bold; }
-->
</style></head>
     <body bgcolor="#6699cc">
<HR>
<table width="90%" border="0" align="center">
  <tr>
    <td align="center" valign="middle" width="100"><span class="Style1"><img src='cid:Visuel.jpg'></span></td>
    <td valign="middle"><span class="Style4">Un titre</span></td>
  </tr>
</table>
<HR>
</p>
 
Bonjour {#Tag1#},
<p>Nous avons bien r&eacute;cup&eacute;r&eacute; vos codes personnels.</p>
         du texte... 
        <a href="http://www.monadresse.com">Le texte pour mon adresse</a> 
         Encore du texte...
     </body>
</html>
Autant dire, rien d'exceptionnel...

Dans la page de traitement ASP, j'utilise le code suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
function EnvoiMail(MailTo, Name, FirstName)
IF MailTo <> "" THEN
    Dim ObjSendMail
    Set ObjSendMail = CreateObject("CDO.Message") 
    ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")  = 2 'Send the message using the network (SMTP over the network).
    ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Mon adresse de smtp"
     ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
     ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False 'Use SSL for the connection (True or False)
     ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
     ObjSendMail.Configuration.Fields.Update
 
     Set FileObj_ = Server.CreateObject("Scripting.FileSystemObject")
     IF (FileObj_.FileExists(Server.MapPath("Mail.html"))) THEN
          Set file_ = FileObj_.OpenTextFile(Server.MapPath("Mail.html"), 1, False, -2)
     ELSE
           Set file_ = ""
            Response.Write("Fichier non trouvé")
     END IF
 
     ObjSendMail.To = MailTo
     ObjSendMail.Subject = "Vos informations de connexion à votre compte"
     ObjSendMail.From = "Adresse mail pour l'envoi"
 
      DO WHILE NOT file_.AtEndOfStream
           texte_ = file_.readLine
           texte_ = Replace (texte_, "{#Tag1#}", FirstName + " " + Name)
           ObjSendMail.HTMLBody = ObjSendMail.HTMLBody + texte_
       LOOP
       ObjSendMail.AddAttachment Server.MapPath("Visuel.jpg"), "picture1", "picture1"			
       ObjSendMail.Send
       Set ObjSendMail = Nothing
END IF
End Function
Quelqu'un pourrait-il m'aider?
Theolediable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 17h04   #2
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 30
Points : 38
Points : 38
Personne n'a d'idée?
Theolediable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2007, 10h19   #3
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Apparement, il existe une methode CreateMHTMLBody qui créé le mail à partir d'une page web. Remplace ObjSendMail.HTMLBody par ObjSendMail.CreateMHTMLBody pour voir.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 09h54   #4
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 30
Points : 38
Points : 38
ça ne foncitonne pas...
Il me dit que le protocole spécifié est introuvable...
Theolediable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 12h03   #5
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 30
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 30
Points : 38
Points : 38
C'est bon, j'ai finalement résolu le problème: j'avais oublié de rajouter les caractères de fin ce ligne
Code :
 texte_ = texte_ & vbCrLf
dans la récupération du contenu du template. Aparemement, c'est ça qui faisait tout planter.

Merci pour ton aide.
Theolediable est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h01.


 
 
 
 
Partenaires

Hébergement Web