繁体   English   中英

图像未显示在来自本地资源的 html 电子邮件正文中

[英]Image is not displaying in html email body from local resource

我正在努力从 html 电子邮件正文中的本地资源文件夹中获取图像显示。

这是我正在使用的代码:

string htmlBody;
htmlBody = "<h2> Hi Custom Designs, </h2>" +
           "Please see below for new design request" + "<br /><br />" +
           "<strong>Name:</strong>          " + txtName.Text + "<br />" +
           "<strong>Last Name:</strong>     " + txtLastName.Text + "<br />" +
           "<strong>Email Address:</strong> " + txtEmail.Text + "<br />" +
           "<strong>Phone Number:</strong>  " + txtCell.Text + "<br />" +
           "<strong>Address:</strong>       " + txtAddress.Text + "<br />" +
           "<strong>Message:</strong>       " + txtMessage.Text + 
           "<br /><br /><br />" +
           "<img src='assets/img/logo.png' alt='Logo' title='Logo' style='display:block' width='200' height='87' />" + "<br /><br />" +
           "Thanks" ;
                
            mail.Body = htmlBody;

我试过"<img src='../assets/img/logo.png' alt='Logo' title='Logo' style='display:block' width='200' height='87' />""<img src='~/assets/img/logo.png' alt='Logo' title='Logo' style='display:block' width='200' height='87' />"但仍然没有工作并且图像肯定在该文件夹中

收到邮件时说图片已被删除或链接不正确或删除而无法显示?

不确定这里做错了什么?

谢谢

发送电子邮件时您无法访问本地数据。 使用前应该先将图片转为base64,然后像这样添加邮件正文;

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">

这是转换为 base 64 的方法;

byte[] imageArray = System.IO.File.ReadAllBytes(@"image file path");
string base64ImageRepresentation = Convert.ToBase64String(imageArray);
var imgSrc = String.Format("data:image/png;base64,{0}", base64ImageRepresentation);//src data

并像这样更改您的代码;

string htmlBody;
htmlBody = "<h2> Hi Custom Designs, </h2>" +
           "Please see below for new design request" + "<br /><br />" +
           "<strong>Name:</strong>          " + txtName.Text + "<br />" +
           "<strong>Last Name:</strong>     " + txtLastName.Text + "<br />" +
           "<strong>Email Address:</strong> " + txtEmail.Text + "<br />" +
           "<strong>Phone Number:</strong>  " + txtCell.Text + "<br />" +
           "<strong>Address:</strong>       " + txtAddress.Text + "<br />" +
           "<strong>Message:</strong>       " + txtMessage.Text + 
           "<br /><br /><br />" +
           "<img src='" + imgSrc + "' alt='Logo' title='Logo' style='display:block' width='200' height='87' />" + "<br /><br />" +
           "Thanks" ;
                
            mail.Body = htmlBody;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM