MailMessage.AlternateView.GetHtmlView() 返回 null

问题描述

我正在使用 MailMessage 通过电子邮件导入我的一些实体,当我发送电子邮件和导入该电子邮件 ImapClient 连接时,它工作得很好。 但是当我转发一些电子邮件而不是发送时,情况相同,然后

m.AlternateViews.GetHtmlView()

获取此 null 并且无法获取我的应用程序的 Html 视图。

ImapClient ic = new ImapClient(ac.IMapServer,ac.IMapUserName,IMapPassword,port: ac.IMapPort > 0 ? ac.IMapPort : 000,secure: ac.IMapPort == 000 ? true : false);
int count = ic.GetMessageCount();
ic.SelectMailBox("INBox");
var mm = new List<MailMessage>();
for (int i = 0; i < count; i++)
{
    try
    {
        mm.Add(ic.GetMessage(i,false));
    }
    catch (Exception ex)
    {
        _logger.Error(string.Format("Error: {0}",ex.Message),ex);
    }
}
foreach (MailMessage m in mm)
{
    string pattern = @"<img\s(?=.*?\bcid:\b)[^>]*>";
    string replacement = "";
    Regex rgx = new Regex(pattern);
    string description = rgx.Replace(m.Body,replacement);
    var descriptionHtml = "";
    try
    {
        descriptionHtml = m.AlternateViews.GetHtmlView().Body;
    }
    catch (Exception exc)
    {
        _logger.Error(string.Format("Error {0}",exc.Message),exc);
    }
}

这是我正在使用的一些代码,但是为什么在转发时为什么不是在发送时为空。 任何帮助或建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)