Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Delphi客户机-服务器应用程序中存储电子邮件的想法_Delphi_Email_Outlook_Eml - Fatal编程技术网

在Delphi客户机-服务器应用程序中存储电子邮件的想法

在Delphi客户机-服务器应用程序中存储电子邮件的想法,delphi,email,outlook,eml,Delphi,Email,Outlook,Eml,对于存储电子邮件,这里有很多建议。不知何故,我正在做的是编写Outlook加载项,将收件箱/已发送文件夹中的电子邮件直接发送到我的应用程序 因此,只有真正有趣的东西才会被保存。我决定在哪里保存它 想象一下这种情况: 我收到一封客户的电子邮件。由我决定是将其保存在客户身上,还是保存在该客户的订单24上。这就是为什么我要做插件,而不是在一段时间后自动存储电子邮件=噪音 也就是说,如何存储电子邮件?对于我通过Outlook接收或发送的电子邮件,我的想法可能是将整个文件保存在blob字段中(因此是eml

对于存储电子邮件,这里有很多建议。不知何故,我正在做的是编写Outlook加载项,将收件箱/已发送文件夹中的电子邮件直接发送到我的应用程序

因此,只有真正有趣的东西才会被保存。我决定在哪里保存它

想象一下这种情况:

我收到一封客户的电子邮件。由我决定是将其保存在客户身上,还是保存在该客户的订单24上。这就是为什么我要做插件,而不是在一段时间后自动存储电子邮件=噪音

也就是说,如何存储电子邮件?对于我通过Outlook接收或发送的电子邮件,我的想法可能是将整个文件保存在blob字段中(因此是eml文件),也可能是我还可以将其他信息(如主题)保存在另一个文本字段中。但是当我从我的应用程序中写一封电子邮件时,问题就来了

在这种情况下,我没有生成eml文件,我通过MAPI数据发送到Outlook,以撰写一封电子邮件,我将与Outlook一起发送(因此在这种情况下,我无法保存eml),或者直接与Indy一起发送。同样在这种情况下,我没有eml文件

一个想法是,我自动撰写的所有电子邮件都有一个附加模块识别的特殊标志,因此当我发送邮件时,它会存储回数据库。因此,在本例中,我还可以保存我从应用程序发送的邮件的eml


您可以发表意见吗?

首先,您必须决定要存储哪些信息。剩下的只是到达那里的一种方式

一种选择是存储.msg文件(您已经发布了相关问题,表明您对MAPI并不陌生),而不是.eml文件。使用MAPI,您可以将创建的IMessage存储为.msg文件(有点麻烦)。但是,在邮件实际发送之前,不会设置所有mapi道具,因此您可能需要为此钩住outlooks send items文件夹

一个更简单的解决方案是直接从源代码生成.eml(或任何您喜欢的基于文本的格式)。发送时,获取源数据,生成对outlook的正确MAPI调用,生成.eml并将其直接存储到数据库中。接收时,让Outlook直接保存到.eml


就我个人而言,我根本不会使用.eml来存储。我会将我特别感兴趣的数据(如to/from addresses)解析为单独的列。最后,您可能正在使用数据库进行数据检索。当您不将所有内容存储在单个备注/blob字段中时,数据库往往会做得更好。:)

为什么要在邮件服务器外存储电子邮件?邮件服务器非常擅长存储电子邮件。如果您将Outlook与Exchange一起使用,最新版本具有邮件转发的特定功能,至少它始终具有路由传入和传出邮件的功能。其他服务器也有。@ldsandon,因为我有一个存储所有相关数据的应用程序。许多客户甚至没有邮件服务器(有些使用pop3免费电子邮件)。许多通信都是无用的。最重要的是手动存储在有意义的地方(附于订单、客户等)。这就是它的工作方式,也是我发现增值的方式。