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

CreateMailMessage dans un WebService

2 réponses
Avatar
Bruno POUPON
bonjour

je veux utiliser un WebService pour envoyer des mails, bien sur ceux-ci sont
des fichiers html, et au momment de la création du message je veux faire du
remplacement.

Mais voila MailDefinition.CreateMailMessage, méthode (String, IDictionary,
String, Control)
a besoin d'un control et la je ne sais pas comment faire.

Merci pour les tuyau

2 réponses

Avatar
Patrice
D'après la doc,

"Si vous souhaitez envoyer un message électronique sans utiliser de
contrôle, consultez la classe System.Net.Mail"

Après le mieux est peut-être de détaillé un peu. Ce sont des fichiers ou
généré directement depuis un contrôle. Quels sont les remplacements que tu
voudrais faire...

--
Patrice


"Bruno POUPON" a écrit dans le message de groupe
de discussion : uOgC$f#
bonjour

je veux utiliser un WebService pour envoyer des mails, bien sur ceux-ci
sont des fichiers html, et au momment de la création du message je veux
faire du remplacement.

Mais voila MailDefinition.CreateMailMessage, méthode (String, IDictionary,
String, Control)
a besoin d'un control et la je ne sais pas comment faire.

Merci pour les tuyau



Avatar
Bruno POUPON
Bonjour Patrice et merci de ton intéret

Enfait pour être plus claire dans mon explication :

j'ai des pages HTML du genre :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='content-type' />
<title>
<%$ Resources:Users,MailBienvenueTitre %>
</title>
<style type='text/css'>
.body {
font-family: Verdana;
font-size: small;
background-image:
url'http://www.primactif.com/App_Themes/Boutique/Images/background_primactif.gif');
background-repeat: repeat;
}
.Titre {
font-family: Verdana;
font-size: x-large;
font-style: oblique;
color: #0000FF;
font-weight: bold;
vertical-align: middle;
text-align: center;
}
.Lien {
font-family: verdana;
font-size: x-large;
}
</style>
</head>
<body class='body '>
<div style='padding: 2px; margin: 2px; position: static; display: block;
float: left;'>
<img alt='Primactif' src='cid:LOGO' width='334' height='85px' />
</div>
<div class="Titre">Bonjour et Bienvenue &nbsp;<%PRENOM%>
&nbsp;<%NOM%></div>
<p>Nous vous souhaitons la bienvenue chez
PRIMACTIF.COM.........................................................


Mon objectif est d'envoyer par mail ce document en utilisant ce que je fais
déjà dans des pages .aspx voir .ascx la class Maildefinition et
EmbeddedMailObject pour remplacer "<img alt='Primactif' src='cid:LOGO'
width='334' height='85px' />" par l'image ainsi que d'utiliser

CreateMailMessage pour remplacer les champs <%NOM%> et autres.

l'avantage est qu'avec ce principe la page html n'est pas une pièce jointe
et le replacement super simple.

voici le code que j'utilise et qui marche dans des pages .aspx et ascx

Function CreateMessage(ByVal msgTo As String) As System.Net.Mail.MailMessage

Dim md As MailDefinition = New MailDefinition

md.Subject = Resources.Users.MailValideTitre

md.BodyFileName = Resources.Users.htmValidate_user

md.IsBodyHtml = "True"

Dim logo As EmbeddedMailObject = New EmbeddedMailObject

logo.Name = "LOGO"

logo.Path = "~/Images/Primactif.gif"

md.EmbeddedObjects.Add(logo)

Dim replacements As ListDictionary = New ListDictionary

replacements.Add("<%NOM%>", MyTBNom.Text)

replacements.Add("<%PRENOM%>", MyTBPrenom.Text)

replacements.Add("<%GUID%>", CreateUserWizard1.UserName)

Return md.CreateMailMessage(msgTo, replacements, Me)

End Function

Mais Grrrrrrrrrrrrrrrr dans un WebService rien à faire car CreateMailMessage
a besoin d'une référence (dans l'exemple "Me") au controle.

et sauf erreur de ma part System.Net.Mail MailMesage on a le choix soit avec
attachement soit body qui est alors une string

"Bruno POUPON" a écrit dans le message de news:
uOgC$f%
bonjour

je veux utiliser un WebService pour envoyer des mails, bien sur ceux-ci
sont des fichiers html, et au momment de la création du message je veux
faire du remplacement.

Mais voila MailDefinition.CreateMailMessage, méthode (String, IDictionary,
String, Control)
a besoin d'un control et la je ne sais pas comment faire.

Merci pour les tuyau