我正在尝试解析outlook中的.msg文件以获取MIME内容,以便将文件保存为eml。我正在使用Exchange Web服务来保存通过exchange服务器上的日志收件箱发送的电子邮件,但有些电子邮件需要在事后通过outlook插件进行保存,尽管将它们转换为eml/MIME格式似乎比较困难。
mimekit 页面上的示例显示它可以解析msg文件,尽管当我尝试它时,抛出了一个System.FormatException。mimekit是否支持msg解析?
这就是我现在正在做的:
var stream = File.OpenRead(@"C:\example.msg");
var
我想转发一封电子邮件后,添加一些评论。原始电子邮件保存为eml文件,所以我首先加载该文件,然后将我的评论添加到正文或附加一些新的文件,然后重新发送电子邮件到新的电子邮件地址。
var mail = new MimeKit.MimeMessage();
var file = System.IO.File.ReadAllBytes("sample.eml"));
var orgMessage = new MimeKit.MimeMessage(file);
var builder = new MimeKit.BodyBuilder();
builder.TextBody =
我试图使用C#在winforms应用程序中生成Gmail草稿消息。消息草稿需要采用HTML格式,并且能够包含附件。
我能够使用AE.Net.Mail生成一个带有附件的草案,但是草案消息是纯文本的(我不知道如何编写AE.Net.Mail代码来给我一个HTML草稿消息)。
为了将消息转换为HTML,我使用MimeKit获取System.Net.Mail消息并将其转换为MimeMessage消息。但是,我不知道如何按照Gmail草案规范的要求,在RFC 2822格式化和URL安全的base64编码字符串中插入MIME消息。
这里是来自MimeKit转换尝试的代码:
var service = new
我有以下情况:一封电子邮件与另一封电子邮件作为附件。我在C#中工作,使用微软365帐户上的Microsoft.Graph库。
据我所知,我可以使用以下代码流并保存父电子邮件:
Message m; // m is the parent email that I want to save retrieved with an GetAsync() call
var stream = await graphClient.Me.Messages[m.Id].Content.Request().GetAsync();
var filepath = Path.GetDirectoryName(System
我正在使用MailKit/MimeKit1.2.7(最新的NuGet版本)。
我一直在阅读API文档和关于堆栈溢出的几篇文章。但我仍然无法成功地将电子邮件附件保存为一个文件。
以下是我的当前代码:
var mimePart = (attachment as MimePart);
var memoryStream = new MemoryStream();
mimePart.ContentObject.DecodeTo(attachmentStream);
using (var fileStream = new FileStream(filePath, FileMode.Create, Fil
我正在尝试转换一些Python代码,以便在.Net网站中使用。代码检索以RFC822格式存储的消息,并再次使用以下方法将消息发送到SMTP服务器:
mail from: blah blah
rcpt to: blah blah
data
<send the text from the RFC822 file here>
.
因此,不需要解析RFC822文件(幸运的是!)。在Python中,这只是:
smtp = smtplib.SMTP(_SMTPSERVER)
smtp.sendmail(_FROMADDR, recipient, msg)
其中文件已被读入变量msg中。在C#中
我有一个附件存储在数据库中,附件名为smime.p7m,name类型为multipart/signed。我现在需要从签名的p7m文件中提取附件,我希望我可以使用Mimekit来实现这一点。我尝试过以下几种方法:
CryptographyContext.Register(typeof(WindowsSecureMimeContext));
try
{
using (MemoryStream ms = new MemoryStream(buf))
{
ApplicationPkcs7Mime p7m = new App
我已经在一个c#控制台应用程序上实现了OpenPGP加密,该应用程序使用MimeKit和Gpg4win发送PGP加密电子邮件。我的控制台应用程序运行得很好,但当我为运行在IIS中的网站实现此功能时,找不到公钥。我收到如下错误:
MimeKit.Cryptography.PublicKeyNotFoundException: The public key could not be found.
at MimeKit.Cryptography.OpenPgpContext.GetPublicKey(MailboxAddress mailbox)
at MimeKit.Cryptograph
我刚刚设法重写了一些代码,现在应该能够处理用于打印的大型MIME文件。
为此,我们以以下方式使用了MimeKit:
var message = MimeMessage.Load(_fileStream, true);
var iter = new MimeIterator(message);
while (iter.MoveNext())
{
...
}
这里有趣的是,在我使用fileStream之前,我们用来复制HttpListenerRequest对象的inputStream,它是一个无法加载到
首先,我要说,可能有更好的办法来解决这一问题,因此,请尽管提出不同的办法。
我想要做的是从Blazor服务器端应用程序中的模板发送电子邮件。电子邮件库(MailKit)需要将主体呈现为字符串,据我所知。
当然,我希望这是一个模板,所以我的思维过程是有一个带有模型的cshtml页面。使用传入的模型呈现它,并接受输出字符串并将其用于主体。
所以我的邮件代码应该是这样的:
var email = new MimeKit.MimeMessage();
email.From.Add(MimeKit.MailboxAddress.Parse(_mailOptions.Value.Defau