VBA接收邮件为纯文本

时间:2019-04-02 18:21:27

标签: vba outlook

我在Outlook中收到HTML邮件。我想将收到的邮件转换为“纯文本”并转发电子邮件。

下面的代码有,但似乎无法正常工作。关于将其转换为“纯文本”然后转发的任何想法。寻求帮助:)

尝试了一些代码示例,但到目前为止还没有运气。

Sub ConvertToPlain(MyMail As MailItem)
    Dim strID As String
    Dim objMail As Outlook.MailItem

    strID = MyMail.EntryID
    Set objMail = Application.Session.GetItemFromID(strID)
    objMail.BodyFormat = olFormatPlain
    objMail.Save

    Set objMail = Nothing
End Sub

1 个答案:

答案 0 :(得分:0)

您可以只创建一个新的邮件项目,并设置.body属性。读取邮件项目的.body只会获取文本,而不会进行任何格式设置(与读取.HTMLBody相比,它会获取完整的HTML)。

这是一个子示例,它将把电子邮件的未格式化文本发送到您指定的任何地址

Sub sendPlainText(MyMail As MailItem, sendTo As String)
    Dim newMail As Outlook.MailItem

    Set newMail = Application.CreateItem(olMailItem) 'Create a new email

    With newMail
        .To = sendTo 'Whoever you want to send the new mail item to
        .subject = MyMail.subject 'Copy subject of original email
        .Body = MyMail.Body 'Copy plain text of body to new mail item
        .send 'Send the new email
    End With
End Sub