Salut,
J'ai une classe qui envoie des mails. Elle marche trés bien mais je me suis aperçu que dans mon mailing je dois envoyer des images et des liens qui doivent accompagner les texte...
Une idées...
Salut,
J'ai une classe qui envoie des mails. Elle marche trés bien mais je me suis aperçu que dans mon mailing je dois envoyer des images et des liens qui doivent accompagner les texte...
Une idées...
Tu as la collection Attachments dans ton objet MailMessage.
tu trouveras toutes les infos ici.
Jérôme Lambert
Développeur, Architecte, Rédacteur & Fan technologies Microsoft
Ma boite informatique | Mon profil LinkedIn
Tu peux ceer un message en format html :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 string htmlBody = "<html><body><h1>Picture</h1><br><img src=\"cid:Pic1\"></body></html>"; AlternateView avHtml = AlternateView.CreateAlternateViewFromString (htmlBody, null, MediaTypeNames.Text.Html); LinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg); pic1.ContentId = "Pic1"; avHtml.LinkedResources.Add(pic1); string textBody = "You must use an e-mail client that supports HTML messages"; AlternateView avText = AlternateView.CreateAlternateViewFromString (textBody, null, MediaTypeNames.Text.Plain); MailMessage m = new MailMessage(); m.AlternateViews.Add(avHtml); m.AlternateViews.Add(avText); m.From = new MailAddress("", ""); m.To.Add(new MailAddress("", "")); m.Subject = "A picture using alternate views"; SmtpClient client = new SmtpClient(""); client.Send(m);
Mehdi Feki : Modérateur .Net
Merci, mais je gère déjas les fichiers joins dans ma classe. Je veux envoyer une image dans le corps du message...Envoyé par Goldar
J'ai déja essayer avec ce code:Envoyé par mehdi_tn
mais l'image ne s'affiche pas, pourtant je l'envoi à une boite gmail et une autre hotmail qui à ma connaissance acceptent les messages HTML mais l'image ne s'affiche pas j'ai juste le message...MailAttachment sert à mettre des pièces jointes pas à mettre l'image à l'intérieur du mail
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // Create the HTML message body // Reference embedded images using the content ID string htmlBody = "<html><body><h1>Picture</h1><br><img src=\"cid:Pic1\"></body></html>"; AlternateView avHtml = AlternateView.CreateAlternateViewFromString (htmlBody, null, MediaTypeNames.Text.Html); // Create a LinkedResource object for each embedded image LinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg); pic1.ContentId = "Pic1"; avHtml.LinkedResources.Add(pic1); // Create an alternate view for unsupported clients string textBody = "You must use an e-mail client that supports HTML messages"; AlternateView avText = AlternateView.CreateAlternateViewFromString (textBody, null, MediaTypeNames.Text.Plain); // Add the alternate views instead of using MailMessage.Body MailMessage m = new MailMessage(); m.AlternateViews.Add(avHtml); m.AlternateViews.Add(avText); // Address and send the message m.From = new MailAddress("lance@contoso.com", "Lance Tucker"); m.To.Add(new MailAddress("james@contoso.com", "James van Eaton")); m.Subject = "A picture using alternate views"; SmtpClient client = new SmtpClient("smtp.contoso.com"); client.Send(m);
Des idées..?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub EmbedImages() 'create the mail message Dim mail As New Net.Mail.MailMessage() 'set the addresses mail.From = New Net.Mail.MailAddress("Expediteur@Domaine.com") mail.To.Add("Destinataire@gmail.com") 'set the content mail.Subject = "This is an email" 'first we create the Plain Text part Dim plainView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", Nothing, "text/plain") 'then we create the Html part 'to embed images, we need to use the prefix 'cid' in the img src value 'the cid value will map to the Content-Id of a Linked resource. 'thus <img src='cid:companylogo'> will map to a LinkedResource with a ContentId of 'companylogo' Dim htmlView As Net.Mail.AlternateView = Net.Mail.AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", Nothing, "text/html") 'create the LinkedResource (embedded image) Dim logo As New Net.Mail.LinkedResource("c:\logo.jpg") logo.ContentId = "companylogo" 'add the LinkedResource to the appropriate view htmlView.LinkedResources.Add(logo) 'add the views mail.AlternateViews.Add(plainView) mail.AlternateViews.Add(htmlView) 'send the message Dim smtp As New Net.Mail.SmtpClient("smtpin.ati.tn") 'specify the mail server address smtp.Send(mail) End Sub 'EmbedImages
Voilà c'est réglé...
Merci pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager