我正在try 通过C#代码发送一封HTML邮箱.一切都运行得很好.我可以发送带有徽标和图标的邮箱.我面临的唯一问题是,当我向Outlook发送邮箱时,标题的格式会丢失.以下是我的代码:
<div class="container">
<div class="logo">
<img src="Images/delete.png" alt="RAC" width="80" height="80" />
</div>
<div class="names">
<div class="name1">This is City Name</div>
<div class="name2">This is company Name</div>
</div>
</div>
以下是样式表:
<style>
.container {
display: flex;
align-items: center;
padding: 10px;
background-color: #335970;
width:100%;
}
.logo {
margin-right: 10px;
}
.names {
display: flex;
flex-direction: column;
}
.name1 {
font-size: 25px;
color: #e9c46a;
}
.name2 {
font-size: 25px;
color: white;
}
</style>
以下是该屏幕在HTML页上的外观:
当我将邮箱发送到Outlook时,屏幕如下所示:
公司名称和城市名称都会在图标下方移动.我try 将FLEX Direction更改为Row,但没有解决任何问题.我也try 了Outlook的zoom 设置,设置为100%.以下是发送邮箱的C#代码:
SmtpClient客户端=new SmtpClient();
client.Credentials = new NetworkCredential("test", EmailPass);
client.Port = 200;
client.EnableSsl = true;
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
mail.From = test;
mail.To.Add(new MailAddress("t@t.com"));
mail.Subject = "test";
using(StreamReader reader = new StreamReader(Server.MapPath("~/EmailTemplate.html")))
{
body = reader.ReadToEnd();
}
mail.Body = body;
client.Send(mail);
如能帮助解释为什么标题的格式会在HTML中丢失,我们将不胜感激.我还try 使用这样的表标记:
<table style="background-color: #335970;width:100%;padding:10px">
<tr>
<td rowspan="3">
<img src="Images/delete.png" height="80" width="80" />
</td>
</tr>
<tr>
<td class="name1">This is City Name</td>
</tr>
<tr>
<td class="name2">This is company Name</td>
</tr>
</table>
这样,图像和文本之间就有了巨大的空间.请看下面的屏幕截图:
我的问题与HTML样式无关,它与Outlook有关.为什么我看不到Outlook邮箱中的更改.内森回答了我的问题.