簡體   English   中英

在Outlook中使用VBA閱讀帶有附件的電子郵件正文

[英]Read body of email with attachment using VBA in Outlook

我有一些VBA,可以在每封郵件到達我的收件箱后立即對其進行檢查,並將某些電子郵件的內容通過http提交到服務器進行處理。

這對於沒有附件的郵件非常有用,但是如果電子郵件上有附件,則失敗。 我正在使用http GET提交文本。

附件的存在對郵件的正文屬性有什么影響,如何忽略附件並僅提交電子郵件正文?

VBA(為清楚起見而修剪,但功能齊全):

聲明:

Option Explicit
Private WithEvents olInboxItems As Items

啟動時:

Private Sub Application_Startup()
    Set olInboxItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub

關於添加到收件箱中的項目:

Private Sub olInboxItems_ItemAdd(ByVal Item As Object)

    On Error Resume Next

    Dim olMailItem As MailItem
    Dim strAttachmentName As String
    Dim submitResult As String

    If TypeOf Item Is MailItem Then
        Set olMailItem = Item

        If ((InStr(olMailItem.subject, "test subject") > 0)
            Dim subject As String
            subject = olMailItem.subject
            Dim contents As Variant
            contents = olMailItem.body
            Dim submitURL As String
            submitURL = "http:// ... " & subject & "..." & contents & "..."
            XMLHttpSynchronous submitURL
        End If
    End If
    Set Item = Nothing
    Set olMailItem = Nothing
End Sub

Http提交:

Sub XMLHttpSynchronous(ByVal URL As String)
    Dim XMLHttpRequest As XMLHTTP

    Set XMLHttpRequest = New MSXML2.XMLHTTP

    XMLHttpRequest.Open "GET", URL, False
    XMLHttpRequest.Send

End Sub

編輯:我現在正在剝離具有以下代碼的附件(經過測試並且可以正常工作),但該網址仍未正確提交。

    Set myattachments = olMailItem.Attachments
    While myattachments.Count > 0
        myattachments.Remove 1
    Wend

編輯2:我設置了content = subject,並且url提交正確,即使郵件中的附件被剝離,郵件的正文仍然沒有運氣

為了使此工作正常進行,我在第一次編輯時就刪除了帶有代碼的附件,而不是在第一個和最后一個字符周圍拆分正文文本的字符串。 我不確定為什么這樣

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM