我有一个应用程序,它会随着电子邮件的到来启动程序流程。我需要将电子邮件链接到我的应用程序,我将通过消息上的自定义属性来执行此操作。
然后我需要存储电子邮件以供参考。由于Exchange 2010仅支持邮箱中的10Gb和100,000个项目(不使用PST文件),因此我需要将邮件放入更长久的存储库SQL中。
我正在运行SQL 2005,我希望将电子邮件存储在那里但不是图像,所以如果需要,我可以搜索它。当我使用Exchange Web服务获取电子邮件时,我已经拥有了完整的XML消息。我想把它存储在XML字段中,该字段具有与之关联的Message XML模式(以帮助提高性能)应该给我最好的解决方案。
我的问题是获取Message的XML架构。我似乎无法在任何地方找到它,并且似乎没有太多的在线内容将消息放入SQL中。
我是否认为这一切都错了,或者我有更好的解决方案吗?预计邮箱每年将收到超过60万封电子邮件。
欢迎任何帮助或帮助。
谢谢, 麦克
答案 0 :(得分:1)
我使用XMLSpy生成基于XML文件的模式。它不会很完美,但对我有用。
XMLSpy生成的内容多于以下内容,但限制性太强,SQL也没有对其进行验证。所以我拿出了一些额外的东西并保持简洁。
这是它生成的MessageType XML Schema;
<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSpy v2010 rel. 3 (x64) (http://www.altova.com)-->
<xs:schema xmlns:n1="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://schemas.microsoft.com/exchange/services/2006/types" schemaLocation="messagetype1.xsd"/>
<xs:element name="MessageType">
<xs:complexType>
<xs:sequence>
<xs:element ref="n1:ItemId"/>
<xs:element ref="n1:ParentFolderId"/>
<xs:element ref="n1:ItemClass"/>
<xs:element ref="n1:Subject"/>
<xs:element ref="n1:Sensitivity"/>
<xs:element ref="n1:DateTimeReceived"/>
<xs:element ref="n1:Size"/>
<xs:element ref="n1:Importance"/>
<xs:element ref="n1:IsSubmitted"/>
<xs:element ref="n1:IsDraft"/>
<xs:element ref="n1:IsFromMe"/>
<xs:element ref="n1:IsResend"/>
<xs:element ref="n1:IsUnmodified"/>
<xs:element ref="n1:DateTimeSent"/>
<xs:element ref="n1:DateTimeCreated"/>
<xs:element ref="n1:DisplayCc"/>
<xs:element ref="n1:DisplayTo"/>
<xs:element ref="n1:HasAttachments"/>
<xs:element ref="n1:Culture"/>
<xs:element ref="n1:EffectiveRights"/>
<xs:element ref="n1:LastModifiedName"/>
<xs:element ref="n1:LastModifiedTime"/>
<xs:element ref="n1:IsAssociated"/>
<xs:element ref="n1:WebClientReadFormQueryString"/>
<xs:element ref="n1:ConversationId"/>
<xs:element ref="n1:Sender"/>
<xs:element ref="n1:IsReadReceiptRequested"/>
<xs:element ref="n1:ConversationIndex"/>
<xs:element ref="n1:ConversationTopic"/>
<xs:element ref="n1:From"/>
<xs:element ref="n1:InternetMessageId"/>
<xs:element ref="n1:IsRead"/>
<xs:element ref="n1:ReceivedBy"/>
<xs:element ref="n1:ReceivedRepresenting"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 1 :(得分:0)
您可以将其存储在XML列中,索引该列并搜索它。
对于消息xml架构,可能有一个,但我找不到它。