我想从Java应用程序中读取已保存的Outlook消息(.msg文件)中的文本和二进制附件,而不需要使用本机代码(JNI,Java Native Interface).
Apache POI-HSMF似乎正朝着正确的方向发展,但它处于发展的早期阶段......
我试图从之前上传的文件中获取 MIME 类型,但是,它返回“”。是否有任何库或代码可以获取 Angular 中 Outlook 文件的文件类型。例如:对于图像,它显示 'images/png'。请看一看。对于.msg文件扩展名Outlook文件,它显示
但对于.png文件,它显示的文件类型如下
在这个网站上
他们提到不常见的文件扩展名会返回空字符串 如何克服这个问题???请帮助我获取 MIME 类型为 application/vnd.ms-outlook application/octet-stream。
我正在使用GemBox.Email和GemBox.Document将电子邮件转换为 PDF。
这是我的代码:
static void Main()
{
MailMessage message = MailMessage.Load("input.eml");
DocumentModel document = new DocumentModel();
if (!string.IsNullOrEmpty(message.BodyHtml))
document.Content.LoadText(message.BodyHtml, LoadOptions.HtmlDefault);
else
document.Content.LoadText(message.BodyText, LoadOptions.TxtDefault);
document.Save("output.pdf");
}
Run Code Online (Sandbox Code Playgroud)
该代码适用于 EML 文件,但不适用于 MSG( 和MailMessage.BodyHtml)MailMessage.BodyText均为空。
我怎样才能让味精也能做到这一点?
是否有任何教程或资源我可以遵循以使用OpenSharedItem outlook互操作方法.我的目标是使用它读取MSG文件(因为它显然可以这样做).
如果我从收件箱中选择Outlook邮件并将其复制到剪贴板,我可以将其作为*.msg文件粘贴到桌面.
现在我想为我的应用程序实现相同的功能.
Clipboard对象包含以下元素:
RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text
Run Code Online (Sandbox Code Playgroud)
FileGroupDescriptor包含MemoryStream带文件名的文件(Subject.msg),但我不知道如何从剪贴板数据中创建Outlook消息的副本,因为没有任何元素似乎包含消息本身.
有什么建议?
我正在编写一段代码,用于处理从*msg Outlook文件中存储的电子邮件中提取信息.我是如何做到这一点的,我从C#Outlook interop和OpenSharedItem开始打开MSG文件.但是当调用方法OpenSharedItem时会出现这样的错误System.AccessViolationException.谁知道问题是什么?
这是导致错误的代码
Outlook._Application app = new Outlook.Application();
Outlook.NameSpace NS = app.GetNamespace("MAPI");
Outlook.MAPIFolder inboxFld = NS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MailItem fld = (Outlook.MailItem) app.Session.OpenSharedItem("E://Projects//C#//message1.msg");
Run Code Online (Sandbox Code Playgroud) 是否有可以解析msg或eml文件的库?我编写了一个脚本,一旦将电子邮件转换为txt文件就解析它,但我找不到一个电子邮件客户端,允许我轻松地将gui中的电子邮件拖放到文件夹中作为txt文件(如果有人知道这个我会很高兴知道!)
从Outlook拖放创建.msg文件,Thunderbird创建.eml文件.有谁知道会解析这些文件的库?
我目前正在评估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 并进行兑换?
我有这个 rsyslog 配置:
$template f_x,"/path/%programname%.%$YEAR%%$MONTH%%$DAY%%$HOUR%.log"
if $programname == 'xyz' and $msg contains 'Hello World' or $msg contains 'FATAL'
then $msg = 'Starting xyz' ?f_x
& ~
Run Code Online (Sandbox Code Playgroud)
如何在此配置中将接收 $msg 属性从 'Hello World' 更改为 $msg = 'BlaBlaBla' 并写入文件 (%programname%.%$YEAR%%$MONTH%%$DAY%%$HOUR%. log) 最后的 $msg 值
提前致谢
我很抱歉,如果已经有一个话题,但我真的很挣扎.R中有'msgbox'功能的王者吗?类似于VBA中的msgbox.我希望有一个工具,使用户和程序之间的交互更友好.例如,要求程序将使用的那天.或者某些事情提醒用户有关问题,这类问题
我正在使用 python 解析 msg(Outlook 邮件)文件。我发现到目前为止我所做的代码中显示的属性数量,
我为此做了以下代码,
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(r"C:\test_msg.msg")
print msg.SenderName
print msg.SenderEmailAddress
print msg.SentOn
print msg.To
print msg.CC
print msg.BCC
print msg.Subject
print msg.Body
Run Code Online (Sandbox Code Playgroud)
我想在 SendOn 日期之前接收到数据。有谁知道,我必须使用哪个属性来代替 msg.SendOn?
我在cmd控制台的笔记本电脑中使用此命令:
msg /Server:mohammad * /Time:5 "The MSG"
Run Code Online (Sandbox Code Playgroud)
但是如何将它与IP地址一起使用?
我有大约90 .msg,我需要打开的outlook文件,将excel附件转换为.csv文件并保存.目前,下面的代码只是打开.msg outlook文件,但出现错误:
如何允许打开.msg文件.
脚本:
Sub OpenMSGRenameDownloadAttachement()
Dim objOL As Outlook.Application
Dim Msg As Outlook.MailItem
Dim MsgCount As Integer
Set objOL = CreateObject("Outlook.Application")
'Change the path given month, ie. do this for Jan, Feb, April
inPath = "C:\January Messages"
thisFile = LCase(Dir(inPath & "\*.msg"))
Do While thisFile <> ""
Set Msg = objOL.Session.OpenSharedItem(thisFile)
Msg.Display
MsgBox Msg.Subject
thisFile = Dir
Loop
Set objOL = Nothing
Set Msg = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)