是否有可以解析msg或eml文件的库?我编写了一个脚本,一旦将电子邮件转换为txt文件就解析它,但我找不到一个电子邮件客户端,允许我轻松地将gui中的电子邮件拖放到文件夹中作为txt文件(如果有人知道这个我会很高兴知道!)
从Outlook拖放创建.msg文件,Thunderbird创建.eml文件.有谁知道会解析这些文件的库?
我正在开发一种需要对电子邮件进行大量测试的产品.我有一组eml文件(测试样本)要批量发送到产品.
任何人都可以建议一些工具,将这些eml文件作为输入,并将电子邮件发送给给定的收件人.它可以将SMTP地址作为输入.
我正在尝试从 OutLook Express 保存一个 .eml 文件,但保存的文件在某些行的末尾有字符“=”(等于)。
在源模式下编辑消息时,html 似乎正常,只需保存它并出现“=”。
这对我不利,因为我会在发送之前编辑我的应用程序中的 .eml。我必须找到 /BODY 标签并插入一个文本。一个例子:
</DIV></DIV></DIV></DIV></DIV><FONT=20
style=3D"FONT-STYLE: normal; FONT-FAMILY: calibri; COLOR: rgb(0,0,0); =
FONT-SIZE: small; FONT-WEIGHT: normal"=20
face=3DCalibri><A=20
target=3D_blank></A></FONT></DIV></DIV></DIV></DIV></DIV></DIV></DIV></BO=
DY></HTML>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我找不到主体,因为它被写成 BO=DY。
我尝试将它保存在各种编码中,但结果相同。为什么 OutLook 以这种方式保存它?
我有一些用 getmail 抓取的邮件目录(收件箱和发送),我想给 eml 文件命名,代表每封邮件到达(或发送)的日期和时间:
johnsmith@example.org-inbox-2015-07-28T20.02.14+0000.eml
Run Code Online (Sandbox Code Playgroud)
(我希望 Windows 读取文件,所以没有冒号)
我注意到 eml 文件中只出现了一次“Date:”:
Date: Tue, 28 Jul 2015 20:02:14 +0000
Run Code Online (Sandbox Code Playgroud)
我可以依靠这个标题来重命名文件吗?它可靠吗?
(我计划为此任务编写 posix 或 bash 脚本)
我目前正在评估redemption将 MSG 文件转换为 EML 文件的库。
RDOSession session = new RDOSession();
RDOMail msg = session.GetMessageFromMsgFile(msgFile);
msg.SaveAs(emlFile, rdoSaveAsType.olRFC822);
Run Code Online (Sandbox Code Playgroud)
到目前为止,与我针对“野生 MSG 文件语料库”测试过的其他所有内容相比,Redemption 在这里做得非常好。
然而,内部电子邮件地址存在问题。对于内部电子邮件地址,生成的 EML 文件personal仅包含地址的一部分,但不包含带有符号的真实电子邮件地址@。
在任何情况下,我都可以看到RDOMail的收件人对象包含SMTPAddress属性中的真实电子邮件地址。但是Address包含外部地址的“真实电子邮件地址”的属性有所不同,但类似于/O=EXAMPLE ORGANIZAION/OU=SOME GROUP/cn=Recipients/cn=FBarney内部地址的属性。
后者正是在生成的 EML 文件中缺少真实电子邮件地址的地址。
所以我试图覆盖这样的Address属性:
recipient.Address = recipient.SMTPAddress;
Run Code Online (Sandbox Code Playgroud)
但这对最后生成的 EML 文件没有任何影响。
如何在不丢失内部地址的真实电子邮件地址的情况下将 MSG 转换为 EML 并进行兑换?
我有一个带有一些附件的EML 文件。我想读取 EML 文件的文本内容并提取元数据,例如:sender, from, cc, bcc, subject。我也想下载附件。在下面的代码的帮助下,我只能提取电子邮件正文中的信息/文本内容。
import email
from email import policy
from email.parser import BytesParser
import glob
file_list = glob.glob('*.eml') # returns list of files
with open(file_list[2], 'rb') as fp: # select a specific email file from the list
msg = BytesParser(policy=policy.default).parse(fp)
text = msg.get_body(preferencelist=('plain')).get_content()
print(text)
Run Code Online (Sandbox Code Playgroud)
Python 2 中有一个名为 emaildata 的模块可以完成这项工作。
提取元数据信息
import email
from emaildata.metadata import MetaData
message = email.message_from_file(open('message.eml'))
extractor = MetaData(message)
data = extractor.to_dict()
print data.keys()
Run Code Online (Sandbox Code Playgroud)
提取附件信息
import email
from …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过浏览器将eml文件返回给用户.事实是,没有静态的eml文件 - 页面构建它.我可以使用以下方法在MimeKit中构建示例消息
public FileResult TestServe()
{
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Joey", "joey@friends.com"));
message.To.Add(new MailboxAddress("Alice", "alice@wonderland.com"));
message.Subject = "How you doin?";
message.Body = new TextPart("plain")
{
Text = @"Hey Alice,
What are you up to this weekend? Monica is throwing one of her parties on
Saturday and I was hoping you could make it.
Will you be my +1?
-- Joey
"
};
MemoryStream stream = new MemoryStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, message);
return File(stream, "message/rfc822"); …Run Code Online (Sandbox Code Playgroud) 我使用ImapX库将电子邮件保存到.eml文件。我可以使用什么MIME来阅读它?MIME可以读取大多数Content-Type。
我有IMAP PHP脚本,它连接并从邮箱中读取电子邮件.
我正在寻找的是,我想将电子邮件保存在服务器磁盘上,并将其命名为testing.eml文件.因此,稍后我会删除这些电子邮件,并可以在Outlook Express中查看.有任何想法如何实现.
谢谢,
我在GDrive中有几百个.eml文件,我想将其作为电子邮件导入我的Gmail.任何人都可以建议一个允许我这样做的Google Apps脚本吗?我对Google Apps脚本非常熟练,我只需要一些关于如何继续的提示.
我们有一个使用 Java Mail API 访问 Gmail 帐户 (IMAP) 的应用程序。适用于所有类型的电子邮件,但包含 .eml 文件作为附件且使用 Thunderbird 发送的邮件除外。
这是尝试检索该消息时的异常堆栈跟踪。请指教。
Caused by: com.google.code.javax.mail.MessagingException: Unable to load BODYSTRUCTURE
at com.google.code.com.sun.mail.imap.IMAPMessage.loadBODYSTRUCTURE(IMAPMessage.java:1377)
at com.google.code.com.sun.mail.imap.IMAPMessage.getContentType(IMAPMessage.java:492)
Run Code Online (Sandbox Code Playgroud) 如何在 php 中解析.eml文件?是否有任何 PHP 库或 PHP 扩展?
我想在浏览器中显示邮件标题信息,例如发件人、收件人、标题、附件和 eml 正文内容。