当前位置: 首页 > 知识库问答 >
问题:

赎回-Outlook VBA脚本,用于从特定发件人移动带有附加消息文件的邮件

陶烨赫
2023-03-14

我正在尝试用救赎为Outlook编写一个VB脚本。我的任务如下:

    null
Sub GetAttachmentInfo()
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")

Dim olNS As Outlook.NameSpace
Set olNS = olApp.GetNamespace("MAPI")
Dim FolderSrc As MAPIFolder
Set FolderSrc = CreateObject("Outlook.Application"). _
              GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)

Dim oRDOSession As Redemption.RDOSession
Set oRDOSession = CreateObject("Redemption.RDOSession")
oRDOSession.MAPIOBJECT = olNS.Application.Session.MAPIOBJECT

Set Inbox = oRDOSession.GetDefaultFolder(olFolderInbox)

Set Mail = olApp.ActiveExplorer.Selection.Item(1)
Debug.Print "EntryID: " & Mail.EntryID
Set Mail = oRDOSession.GetMessageFromID(Mail.EntryID)
For Each Msg In FolderSrc.Items
    For Each att In Mail.Attachments
    Debug.Print "Sender: " & att.EmbeddedMsg.SenderEmailAddress
    Debug.Print "Embedded Msg Subject: " & att.EmbeddedMsg
    Next
Next
End Sub
Sub subjectLine()
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
Dim Folder As Object
Dim olNS As Outlook.NameSpace
Set olNS = olApp.GetNamespace("MAPI")
Dim oRDOSession As Redemption.RDOSession
Set oRDOSession = CreateObject("Redemption.RDOSession")
oRDOSession.MAPIOBJECT = olNS.Application.Session.MAPIOBJECT


Set Folder = Session.GetDefaultFolder(olFolderInbox)
For Each Msg In Folder.Items
  Debug.Print (Msg.Subject)
Next
End Sub
For Each Mail in Inbox.Items    
    If Mail.Attachment >0
         If attachment.sender = "whoever"
             Move to "Specific Folder"
         End If
    End If 
Next

共有1个答案

施俊哲
2023-03-14

在您的第一个脚本中,您已经遍历了收件箱中的所有项目,但您从未接触它们--您正在持续处理所选邮件的附件。在队伍中

 For Each att In Mail.Attachments

将邮件替换为MSG。您还需要确保正在触摸嵌入的邮件附件。在我的头顶上:

For Each Msg In FolderSrc.Items
    For Each att In Msg .Attachments
      if att.Type = 5 Then 'olEmbeddedItem
        set embeddedMsg = att.EmbeddedMsg
        Debug.Print "Sender: " & embeddedMsg.SenderEmailAddress
        Debug.Print "Embedded Msg Subject: " & embeddedMsg.Subject
      End If
    Next
Next
 类似资料:
  • AIR Native Extension:可以在Flash中指定附件路径进行发送 [Code4App.com]

  • 问题内容: 我遇到了一个问题:直到今天,我使用包含以下内容的标头使用PHP发送HTML邮件 现在,我添加了添加附件的功能。为此,我不得不将此行更改为 现在,使用,邮件的其余部分(即普通文本)将显示为文本/纯文本。我怎么能知道附件有效并且邮件文本仍然是HTML? 问题答案: 要发送带有附件的电子邮件,我们需要使用multipart / mixed MIME类型,该类型指定混合类型将包含在电子邮件中。

  • 问题内容: 是否有用于NodeJS的库,用于发送带有附件的邮件? 问题答案: 是的,这非常简单,我使用nodemailer: 然后阅读文件并发送电子邮件:

  • 问题内容: 我似乎找不到我编写的应该发送带有附件的电子邮件的php函数的问题。我已经为此苦苦挣扎了一段时间了。 编辑 问题是邮件的消息与文件混合在一起并作为附件发送。 问题答案: Artefacto让我更加关注输出,并且找到了解决方法:

  • 问题内容: 我正在尝试在带有附件的codeigniter上发送电子邮件。 我总是成功收到电子邮件。但是,我从未收到带有附件的文件。以下是代码,非常感谢所有评论。 问题答案: $ this- >电子邮件-> attach() 使您可以发送附件。将文件路径/名称放在第一个参数中。注意:使用文件路径,而不是URL。对于多个附件,请多次使用该功能。例如:

  • 问题内容: 如何使用Outlook 2010发送带有附件的电子邮件(本地文件或Intranet中的文件)? 似乎不起作用。 问题答案: 不,这根本不可能。协议中对此没有规定,如果可能的话,这将是一个巨大的安全漏洞。 发送文件但让客户端发送我能想到的电子邮件的最佳方法是: 让用户选择一个文件 将文件上传到服务器 上传后让服务器返回随机文件名 在消息正文中建立一个包含上载文件的URL 的链接