c# - 有没有办法在不使用 Exchange 服务的情况下从电子邮件消息 Mime 内容中提取附件?
问题描述
我有一个客户端应用程序,它将 eml 文件保存到本地磁盘。需要将附件放入 eml 文件中
我尝试了获取 eml 文件并再次加载它以获取详细信息的相反过程。
解决方案
首先非常感谢 MadDev 的帮助!!!
这是我使用的代码:
注意:在这种情况下,存储的电子邮件将始终附加另一个 eml 文件,这是基于业务逻辑的。
protected static void MimeProcessor(MemoryStream stream)
{
try
{
var parser = new MimeParser(stream, MimeFormat.Default);
var message = parser.ParseMessage();
var multipart = message.Body as Multipart;
//Found the Attachment as Message Part
var OriginalMessage = multipart.ToList().LastOrDefault();
if (OriginalMessage is MessagePart)
{
using (var memory = new MemoryStream())
{
((MessagePart)OriginalMessage).Message.WriteTo(memory);
var bytes = memory.ToArray();
File.WriteAllBytes("C:\\Test\\TestMessage.eml", bytes);
}
}
}
catch (Exception)
{
throw;
}
}
推荐阅读
- sql - BigQuery - 在 where 和 in 子句中删除两列
- visual-studio-2017 - 在我的解决方案资源管理器中,这些黄色感叹号是什么意思?
- django - 来自json数据的django模型中的意外关键字参数
- powershell - “无法转换 'Microsoft.UpdateServices.Commands.WsusUpdate'”是什么意思?
- c# - 如何在 Asp.Net Core 2.2 中将 [FromHeader] 属性与自定义模型绑定一起使用
- php - 我可以在 wordpress 中删除空白用户元吗?
- r - glmer 结果中的因子水平下降
- html - 添加变换/动画元素会导致工具提示被其他元素重叠
- r - 从矩阵绘制 3D 条形图
- react-native - TypeError:TypeError:未定义不是对象(评估'theme.label')错误