一起发送邮件使用asp.net嵌入图像 [英] sending mail along with embedded image using asp.net

查看:100
本文介绍了一起发送邮件使用asp.net嵌入图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用asp.net发送邮件随着嵌入式图片

我已经使用以下,但它不能工作

 昏暗EM作为System.Net.Mail.MailMessage =新System.Net.Mail.MailMessage(txtFrom.Text,txtTo.Text)
        暗淡了作为System.Net.Mail.Attachment =新System.Net.Mail.Attachment(txtImagePath.Text)
        昏暗的RGen随机=新的随机()
        A.ContentId = RGen.Next(100000,9999999)的ToString()
        EM.Attachments.Add(A)
        EM.Subject = txtSubject.Text
        EM.Body =<身体GT; + txtBody.Text +< BR>< IMG SRC ='CID:+ A.ContentId +'>< /身体GT;
        EM.IsBodyHtml = TRUE
        昏暗的SC作为System.Net.Mail.SmtpClient =新System.Net.Mail.SmtpClient(txtSMTPServer.Text)
        SC.Send(EM)


解决方案

如果您使用的是.NET 2或以上,你可以使用AlternateView和LinkedResource类是这样的:

 字符串的html = @< HTML><身体GT;< IMG SRC =CID:YourPictureId>< /身体GT;< / HTML>中;
AlternateView altView = AlternateView.CreateAlternateViewFromString(HTML,空,MediaTypeNames.Text.Html);LinkedResource yourPictureRes =新LinkedResource(yourPicture.jpg,MediaTypeNames.Image.Jpeg);
yourPictureRes.ContentId =YourPictureId;
altView.LinkedResources.Add(yourPictureRes);邮件MAILMESSAGE新= MAILMESSAGE();
mail.AlternateViews.Add(altView);

希望你能推断出VB等效。

sending mail along with embedded image using asp.net

I have already used following but it can't work

Dim EM As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage(txtFrom.Text, txtTo.Text)
        Dim A As System.Net.Mail.Attachment = New System.Net.Mail.Attachment(txtImagePath.Text)
        Dim RGen As Random = New Random()
        A.ContentId = RGen.Next(100000, 9999999).ToString()
        EM.Attachments.Add(A)
        EM.Subject = txtSubject.Text
        EM.Body = "<body>" + txtBody.Text + "<br><img src='cid:" + A.ContentId +"'></body>"
        EM.IsBodyHtml = True
        Dim SC As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient(txtSMTPServer.Text)
        SC.Send(EM)

解决方案

If you are using .NET 2 or above you can use the AlternateView and LinkedResource classes like this:

string html = @"<html><body><img src=""cid:YourPictureId""></body></html>";
AlternateView altView = AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html);

LinkedResource yourPictureRes = new LinkedResource("yourPicture.jpg", MediaTypeNames.Image.Jpeg);
yourPictureRes.ContentId = "YourPictureId";
altView.LinkedResources.Add(yourPictureRes);

MailMessage mail = new MailMessage();
mail.AlternateViews.Add(altView);

Hopefully you can deduce the VB equivalent.

这篇关于一起发送邮件使用asp.net嵌入图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆