如何检索电子邮件附件的内容,就像我 .ToString() 时显示的那样?
How to retrieve the content of an email's attachment just like it shows when I .ToString() it?
我似乎找不到任何方法 returns 我只是这个 e.ToString() 输出的编码部分。
('e' 是一个带有 1 个电子邮件附件的 MimeEntity)
这是输出的样子:
X-MimeKit-Warning: Do NOT use ToString() to serialize entities! Use one of the WriteTo() methods instead!
Content-Type: image/png; name="px.png"
Content-Description: px.png
Content-Disposition: attachment; filename="px.png"; size=119;
creation-date="Tue, 06 Apr 2021 09:24:23 GMT";
modification-date="Tue, 06 Apr 2021 09:24:56 GMT"
Content-Transfer-Encoding: base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVO
RK5CYII=
我唯一要找的就是这部分:
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVO
RK5CYII=
您可以使用接受布尔值的 WriteTo
overload 来指示您是否只需要 MimeEnity 的内容。
像这样
// 'e' is a MimeEntity
var ms = new MemoryStream();
e.WriteTo(ms, true); // no need to provide an cancellationtoken.
// ms will have only the content here
第三个参数 cancellationtoken
默认为空,因此您无需提供令牌实例。只有当您想在 WriteTo 操作完成之前优雅地结束它时,这才有意义。
我似乎找不到任何方法 returns 我只是这个 e.ToString() 输出的编码部分。
('e' 是一个带有 1 个电子邮件附件的 MimeEntity)
这是输出的样子:
X-MimeKit-Warning: Do NOT use ToString() to serialize entities! Use one of the WriteTo() methods instead!
Content-Type: image/png; name="px.png"
Content-Description: px.png
Content-Disposition: attachment; filename="px.png"; size=119;
creation-date="Tue, 06 Apr 2021 09:24:23 GMT";
modification-date="Tue, 06 Apr 2021 09:24:56 GMT"
Content-Transfer-Encoding: base64
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVO
RK5CYII=
我唯一要找的就是这部分:
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAMSURBVBhXY/j//z8ABf4C/qc1gYQAAAAASUVO
RK5CYII=
您可以使用接受布尔值的 WriteTo
overload 来指示您是否只需要 MimeEnity 的内容。
像这样
// 'e' is a MimeEntity
var ms = new MemoryStream();
e.WriteTo(ms, true); // no need to provide an cancellationtoken.
// ms will have only the content here
第三个参数 cancellationtoken
默认为空,因此您无需提供令牌实例。只有当您想在 WriteTo 操作完成之前优雅地结束它时,这才有意义。