我们正在制作一个应用程序,它会执行一些处理,最后通过端口 587 和 465 通过电子邮件向用户发送报告。对于端口 567,我们使用标准 System.Net.Mail,一切正常。对于另一个端口 465,我们使用 AegisImplicitMail,我们无法内联发送图像。
这是使用端口 587 发送内联图像的代码
if (SettingDao.GetSMTPPort() == 587)
{
InlineChartExplicit = new Attachment(ChartDayImg);
string contentID = "inlineChartExplicit";
InlineChartExplicit.ContentId = contentID;
InlineChartExplicit.ContentDisposition.Inline = true;
InlineChartExplicit.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
Html += @"<img src='cid:" + InlineChartExplicit.ContentId + @"' + style='width:50%;height:50%'/>";
}
并在 emailService
if (InlineAttmExplicitSSL != null)
{
mail.Attachments.Add(InlineAttmExplicitSSL);
}
然后我们使用 AegisImplicitMail 对端口 465 使用相同的代码,但内联图像不起作用。相反,我们在电子邮件末尾有一个附件
else if (SettingDao.GetSMTPPort() == 465)
{
InlineChartImplicit = new MimeAttachment(ChartDayImg);
string contentID = "inlineChartImplicit";
InlineChartImplicit.ContentId = contentID;
InlineChartImplicit.ContentDisposition.Inline = true;
InlineChartImplicit.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
Html += @"<img src='cid:" + InlineChartImplicit.ContentId + @"' + style='width:50%;height:50%'/>";
}
在电子邮件服务中:
if (InlineAttmImplicitSSL != null)
{
mailMessage.Attachments.Add(InlineAttmImplicitSSL);
}
AegisImplicitMail 有什么我们错过的吗?谢谢。