gpt4 book ai didi

c# - HTML 电子邮件正文未正确呈现

转载 作者:行者123 更新时间:2023-11-28 02:56:52 25 4
gpt4 key购买 nike

我正在尝试发送一封正文中嵌入图像的电子邮件。我已经提供了由 C# 代码生成的 html 外观的 js fiddle 。我在 js fiddle 中使用了更新的 src 以便显示图像。可以访问js fiddle here

电子邮件正确发送,正文中嵌入了图像。我的问题是当我在 outlook 中查看它们时,div 的样式没有对齐。为此,我在下面提供了一个屏幕截图:

enter image description here

正如您在屏幕截图中看到的那样,div 堆叠在它们在 js fiddle 中对齐的位置。有人可以告诉我我要去哪里错了吗?下面是我的代码。

MailMessage message = new MailMessage();
message.To.Add(new MailAddress("to"));
message.From = new MailAddress("from");
LinkedResource res = new LinkedResource(@"C:\TestFolder\TestImage.jpg");
message.Subject = "Test Email";
message.IsBodyHtml = true;

StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.Append("<body>");
sb.Append("<div style=\"display: flex; justify-content: space-between;\">");
sb.Append("<div style=\"width: auto; height: 100px;\">");
sb.Append("<img style=\"height: 100px;\" src='cid:" + res.ContentId + @"'/>");
sb.Append("</div>");
sb.Append("<div style=\"width: auto; height: 100px;\">");
sb.Append("<h1>Hello World</h1>");
sb.Append("</div>");
sb.Append("<div style=\"width: auto; height: 100px;\">");
sb.Append("<img style=\"height: 100px;\" src='cid:" + res.ContentId + @"'/>");
sb.Append("</div>");
sb.Append("</div>");
sb.Append("</body>");
sb.Append("</html>");

AlternateView alternateView = AlternateView.CreateAlternateViewFromString(sb.ToString(), null, MediaTypeNames.Text.Html);
alternateView.LinkedResources.Add(res);
message.AlternateViews.Add(alternateView);

using (var smtp = new SmtpClient())
{
var credential = new NetworkCredential
{
UserName = "email",
Password = "password"
};
smtp.Credentials = credential;
smtp.Host = "host";
smtp.Port = 587;
smtp.Send(message);
}

最后,如果我执行 sb.ToString() 生成以下 html 字符串。

<div style="display: flex; justify-content: space-between;">
<div style="width: auto; height: 100px;">
<img style="height: 100px;" src="http://d3sdoylwcs36el.cloudfront.net/VEN-virtual-enterprise-network-business-opportunities-small-fish_id799929_size485.jpg">
</div>
<div style="width: auto; height: 100px;">
<h1>Hello World</h1>
</div>
<div style="width: auto; height: 100px;">
<img style="height: 100px;" src="http://d3sdoylwcs36el.cloudfront.net/VEN-virtual-enterprise-network-business-opportunities-small-fish_id799929_size485.jpg">
</div>

最佳答案

    <div style="width: auto; height: 100px;display:table;width:150px;float:left">
<img style="height: 100px;" src='http://d3sdoylwcs36el.cloudfront.net/VEN-virtual-enterprise-network-business-opportunities-small-fish_id799929_size485.jpg' />
</div>
<div style="width: auto; display:table;width:400px;float:left;text-align:center;">
<h1>
Hello World</h1>
</div>
<div style="width: auto; height: 100px;display:table;width:150px;float:left;text-align:right;">
<img style="height: 100px;" src='http://d3sdoylwcs36el.cloudfront.net/VEN-virtual-enterprise-network-business-opportunities-small-fish_id799929_size485.jpg' />
</div>
</div>

关于c# - HTML 电子邮件正文未正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46401582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com