C# Mimekit:签名电子邮件附件缺少邮箱地址
问题-无法从附加的签名电子邮件中检索电子邮件地址C# Mimekit:签名电子邮件附件缺少邮箱地址,c#,mimekit,C#,Mimekit,问题-无法从附加的签名电子邮件中检索电子邮件地址 ((MimeKit.MessagePart)项).Message.To 这是代码,保存的附件没有电子邮件地址;但只有友好的名字- if (fileattachment.Name == "smime.p7m") { // Load & read 'smime.p7m'
((MimeKit.MessagePart)项).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
}
提前感谢如果您的
邮件
类型为IMessageSummary
您可以通过这种方式获取收件人
string recipient = Message.Envelope.To.ToString();
如果您的
邮件
类型为IMessageSummary
,则可以通过这种方式获取收件人
string recipient = Message.Envelope.To.ToString();
无法将邮件强制转换为IMessageSummary。我们正在从字节流创建MimeMessage。这是一封签名电子邮件的附件。TopEmail-->附件(SignedEmail)。我们正在尝试检索电子邮件属性(收件人、发件人、回复收件人),但实际电子邮件地址丢失,而友好名称可用。请共享任何示例链接…无法将邮件强制转换为IMessageSummary。我们正在从字节流创建MimeMessage。这是一封签名电子邮件的附件。TopEmail-->附件(SignedEmail)。我们正在尝试检索电子邮件属性(收件人、发件人、回复收件人),但实际电子邮件地址丢失,而友好名称可用。请分享任何示例链接…我在您的代码中没有看到您试图获取
至
地址的地方?另外,原始头是什么样子的?从VS QuickWatch到属性值有{“LastName,FirstName(…)”},其中Address属性有相同的值,Name属性有“”,这不是我要问的。。。查看原始消息-如果有必要,请将其保存到文件中。我看不到您在代码中试图获取到
地址的位置?另外,原始头是什么样子的?从VS QuickWatch到属性值有{“LastName,FirstName(…)”},其中Address属性有相同的值,Name属性有“”,这不是我要问的。。。查看原始消息-如果必须,请将其保存到文件中。