Sub WriteEmailToFile(MyMail As MailItem) Dim myMailEntryID As String Dim myMailBody As String Dim outlookNameSpace As Outlook.NameSpace Dim outlookMail As Outlook.MailItem myMailEntryID = MyMail.EntryID Set outlookNameSpace = Application.GetNamespace("MAPI") Set outlookMail = outlookNameSpace.GetItemFromID(myMailEntryID) Set fileSystemObject = CreateObject("Scripting.FileSystemObject") / you can create a dynamic text file name is you want... Set textFile = fileSystemObject.CreateTextFile("c:\temp\OutlookEmail.txt", True) textFile.WriteLine (outlookMail.SenderEmailAddress) textFile.WriteLine (outlookMail.SentOn) textFile.WriteLine (outlookMail.Subject) outlookMailBody = outlookMail.Body 'strip non-printing characters For x = 127 To 255 While InStr(outlookMailBody, Chr(x)) > 0 outlookMailBody = Replace(outlookMailBody, Chr(x), "") Wend Next x textFile.WriteLine (outlookMailBody) textFile.Close End Sub