Это, вероятно, не совсем то, что вы ищете, но это начало (и бесплатно!). Это макрос Outlook, который я написал некоторое время назад, чтобы сделать именно это. Самая большая проблема в том, что он не работает с вложениями, которые могут показаться вам интересными, но я все равно решил поделиться. Вы нажимаете на папку, которую хотите экспортировать, и она отправляет информацию о сообщении в таблицу SQL. Это достаточно легко изменить, если вы хотите больше полей.
Sub ExportMsgData()
Dim objConn As New ADODB.Connection
Dim rsMsgs As New ADODB.Recordset
Dim strDBFile As String
On Error Resume Next
Set objConn = New ADODB.Connection
With objConn
.ConnectionString = "Provider=SQLOLEDB;data source=MySQLSvr;initial catalog=MyMail;integrated security=SSPI"
.Open
End With
Set objExp = Application.ActiveExplorer
If objExp.Selection.Count > 0 Then
If objExp.Selection(1).Class = Outlook.OlObjectClass.olMail Then
For Each objMsg In objExp.Selection
With rsMsgs
.CursorLocation = adUseClient
.Open "SELECT TOP 1 * FROM t_Msg", objConn, adOpenDynamic, adLockBatchOptimistic
.AddNew
!MsgFrom = objMsg.SENDERNAME
!MsgFromEmail = objMsg.SenderEmailAddress
!MsgDateSent = objMsg.SentOn
!MsgDateReceived = objMsg.ReceivedTime
!MsgSubject = objMsg.Subject
.UpdateBatch
rsMsgs.Close
End With
Next
End If
End If
objConn.Close
Set rsMsgs = Nothing
Set objConn = Nothing
End Sub