Ik ben vanuit C# aan het klooien met het versturen van html emails met een plaatje erin, werkt allemaal prima maar ik loop tegen wat eigenaardigheden aan. Ik test de verstuurde email op drie ontvangende platformen (maar uiteindelijk moet het in elke email client gewoon goed zijn):
• Outlook 2010
• Windows Phone 7
• Exchange webmail
Ik zal hieronder (enigszins versimpeld) posten hoe ik het verstuur en wat de problemen zijn.
1:
+ Werkt op alle ontvangende clients
- Ik krijg op alle clients een security warnig en moet handmatig de plaatjes downloaden
2:
+ Werkt perfect in Outlook en Exchange webmail
- Werkt niet op Windows Phone 7
3:
+ Werkt perfect in Outlook en op Windows Phone 7
- Werkt weer niet in Exchange webmail
Dus tsja, wat moet ik nou? Het liefst heb ik het op alle platformen gewoon goed werken. Mis ik nog iets?
• Outlook 2010
• Windows Phone 7
• Exchange webmail
Ik zal hieronder (enigszins versimpeld) posten hoe ik het verstuur en wat de problemen zijn.
1:
C#:
1
2
3
4
5
6
7
| var mailMessage = new MailMessage("a@b.nl", "a@b.nl", "Test", "Plain text view"); mailMessage.IsBodyHtml = true; var mimeType = new ContentType("text/html"); string message = "<html><body><img src="http://www.b.nl/image.gif"/></body></html>"; var htmlView = AlternateView.CreateAlternateViewFromString(message, mimeType); mailMessage.AlternateViews.Add(htmlView); new SmtpClient("smtpServer").Send(mailMessage); |
+ Werkt op alle ontvangende clients
- Ik krijg op alle clients een security warnig en moet handmatig de plaatjes downloaden
2:
C#:
1
2
3
4
5
6
7
8
9
10
| var mailMessage = new MailMessage("a@b.nl", "a@b.nl", "Test", "Plain text view"); mailMessage.IsBodyHtml = true; var mimeType = new ContentType("text/html"); string message = "<html><body><img src="cid:imageKey"/></body></html>"; var htmlView = AlternateView.CreateAlternateViewFromString(message, mimeType); var linkedResource = new LinkedResource(@"C:\image.gif"); linkedResource.ContentId = "imageKey"; htmlView.LinkedResources.Add(linkedResource); mailMessage.AlternateViews.Add(htmlView); new SmtpClient("smtpServer").Send(mailMessage); |
+ Werkt perfect in Outlook en Exchange webmail
- Werkt niet op Windows Phone 7
3:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| var mailMessage = new MailMessage("a@b.nl", "a@b.nl", "Test", "Plain text view"); mailMessage.IsBodyHtml = true; var mimeType = new ContentType("text/html"); string message = "<html><body><img src="cid:imageKey"/></body></html>"; var htmlView = AlternateView.CreateAlternateViewFromString(message, mimeType); var inline = new Attachment(@"C:\image.gif"); inline.ContentDisposition.Inline = true; inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline; inline.ContentId = "imageKey"; inline.ContentType.MediaType = "image/gif"; inline.ContentType.Name = "image.gif"; mailMessage.Attachments.Add(inline); mailMessage.AlternateViews.Add(htmlView); new SmtpClient("smtpServer").Send(mailMessage); |
+ Werkt perfect in Outlook en op Windows Phone 7
- Werkt weer niet in Exchange webmail
Dus tsja, wat moet ik nou? Het liefst heb ik het op alle platformen gewoon goed werken. Mis ik nog iets?