C# MailMessage.AlternateView.GetHtmlView()返回null

C# MailMessage.AlternateView.GetHtmlView()返回null,c#,mailmessage,C#,Mailmessage,我正在使用MailMessage通过电子邮件导入我的一些实体,当我发送电子邮件以及导入电子邮件ImapClient连接时,它工作得非常好。 但在同样的情况下,当我转发一些电子邮件而不是发送,然后继续 m.AlternateViews.GetHtmlView() 获取此空值,无法获取我的应用程序的Html视图 ImapClient ic = new ImapClient(ac.IMapServer, ac.IMapUserName, IMapPassword, port: ac.IMapPort

我正在使用MailMessage通过电子邮件导入我的一些实体,当我发送电子邮件以及导入电子邮件ImapClient连接时,它工作得非常好。 但在同样的情况下,当我转发一些电子邮件而不是发送,然后继续

m.AlternateViews.GetHtmlView()
获取此空值,无法获取我的应用程序的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);
    }
}
ImapClient ic=新的ImapClient(ac.IMapServer,ac.IMapUserName,IMapPassword,端口:ac.IMapPort>0?ac.IMapPort:000,安全:ac.IMapPort==000?真:假);
int count=ic.GetMessageCount();
ic.选择邮箱(“收件箱”);
var mm=新列表();
for(int i=0;i”;
字符串替换=”;
正则表达式rgx=新正则表达式(模式);
字符串描述=rgx.Replace(m.Body,replacement);
var descriptionHtml=“”;
尝试
{
descriptionHtml=m.AlternateViews.GetHtmlView().Body;
}
捕获(异常exc)
{
_logger.Error(string.Format(“Error{0}”,exc.Message),exc);
}
}
这是我正在使用的一些代码,但为什么我在转发时会变为null?为什么不在发送时变为null。 如有任何帮助或建议,将不胜感激