【发布时间】:2020-11-18 16:24:44
【问题描述】:
问题 - 无法从附加的签名电子邮件中检索电子邮件地址
((MimeKit.MessagePart)item).Message.To
这里是代码,保存的附件没有邮箱地址;但只是友好的名字-
if (fileattachment.Name == "smime.p7m")
{
// Load & read 'smime.p7m'
fileattachment.Load();
using (MemoryStream memoryStream = new MemoryStream(fileattachment.Content))
{
MimeMessage mimeMessage = MimeMessage.Load(ParserOptions.Default, memoryStream);
foreach (var bodyPart in mimeMessage.BodyParts)
{
//HTML
if (!bodyPart.IsAttachment)
continue;
if (bodyPart is MessagePart)
{
//Subject is file name
var fileName = ((MimeKit.MessagePart)bodyPart).Message.Subject + ".eml";
var rfc822 = (MessagePart)bodyPart;
if (string.IsNullOrEmpty(fileName))
fileName = "attached-message.eml";
using (var stream = File.Create(fileName))
rfc822.Message.WriteTo(stream);
}
else
{
var part = (MimePart)bodyPart;
var fileName = part.FileName;
using (var stream = File.Create(fileName))
part.Content.DecodeTo(stream);
}
}
} //MemoryStream
}
提前致谢
【问题讨论】:
-
我没有在您的代码中看到您试图获取
To地址的位置?另外,原始标题是什么样的? -
从 VS QuickWatch,To 属性值具有 {"LastName, FirstName (...)"} 其中地址属性具有相同的值,名称属性具有“”
-
这不是我问的...查看原始消息 - 如果需要,请将其保存到文件中。