Read Email into Microsoft Access Database
Reading email with Visual Basic API and create your own spam filter? You can by reading Outlook emails from Microsoft Access.There are three VB code samples demonstrating methods to communicate between Microsoft Access database and Microsoft Outlook for the purpose of sending and receiving emails programmatically using VBA:
-
Compose and send emails via Outlook with and without attachments
-
Read emails from Outlook into Microsoft Access and optionally delete or store the emails (current page)
MS Outlook provides a Visual Basic MAPI API to read email from Access VB and process attachments too. In the example below we connect to the Microsoft Outlook inbox via the API and loop through each email message while storing parts of the email into a table:
Private Sub ReadInbox
Dim TempRst As DAO.Recordset
Dim rst As DAO.Recordset
Dim OlApp As Outlook.Application
Dim Inbox As Outlook.MAPIFolder
Dim InboxItems As Outlook.Items
Dim Mailobject As Object
Dim db As DAO.Database
Dim dealer As Integer
DoCmd.RunSQL “Delete * from tbl_outlooktemp”
Set db = CurrentDb
Set OlApp = CreateObject(“Outlook.Application”)
Set Inbox = OlApp.GetNamespace(“Mapi”).GetDefaultFolder(olFolderInbox)
Set TempRst = CurrentDb.OpenRecordset(“tbl_OutlookTemp”)
‘
Set InboxItems = Inbox.Items
‘
For Each Mailobject In InboxItems
If Mailobject.UnRead Then
With TempRst
.AddNew
!Subject = Mailobject.Subject
!from = Mailobject.SenderName
!To = Mailobject.To
!Body = Mailobject.Body
!DateSent = Mailobject.SentOn
.Update
Mailobject.UnRead = False
(adsbygoogle = window.adsbygoogle || []).push({});
End With
End If
Next
Set OlApp = Nothing
Set Inbox = Nothing
Set InboxItems = Nothing
Set Mailobject = Nothing
Set TempRst = Nothing
End Sub
To create your own spam filter you can use several techniques. Some examples are
-
Connect to the Outlook address book and check incoming addresses against your email address entries
-
Create a table of exclusion words for emails and use the Instr() function to scan for excluded words
-
Create a table of inclusion words to grab read email with these words.
To learn how to send Outlook emails using Microsoft Access.
Microsoft Office:
MS Access 2000 Through 2016 and Office 365 & Sharepoint
Microsoft Office VBA, MS Access 2003, 2007, 2010, 2013, 2016