[英]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.