【问题标题】:How to auto forward, an email with attachments from sender, to more than one email address?如何将一封带有发件人附件的电子邮件自动转发到多个电子邮件地址?
【发布时间】:2019-05-25 16:04:33
【问题描述】:

我希望在将特定电子邮件发送到我的收件箱时将此电子邮件自动转发到带有附件和正文但更改主题的多个电子邮件地址。

Private Sub Application_Startup()
Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
Set objInboxItems = objInbox.Items
End Sub

Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
Dim objMail As Outlook.MailItem
Dim objForward As Outlook.MailItem
 
If TypeOf Item Is MailItem Then
    Set objMail = Item
 
    'If it is a specific new email
    If (objMail.SenderEmailAddress = "someone@outlook.com") And _
      (objMail.Importance = olImportanceHigh) And _
      (objMail.Attachments.Count > 0) Then
 
        Set objForward = objMail.Forward
        'Customize the forward subject, body and recipients
        With objForward
            .Subject = "Custom Subject"
            .HTMLBody = "<HTML><BODY>Type body here. </BODY></HTML>" & _
              objForward.HTMLBody
            .Recipients.Add ("someone@gmail.com")
            .Recipients.ResolveAll
            .Importance = olImportanceHigh
            .Send
        End With
    End If
End If
End Sub

Sub myAutoFW()

End Sub

我站在收件箱中的电子邮件上并运行宏,但没有任何反应。

【问题讨论】:

  • 为什么不简单地创建一个规则并将电子邮件转发给特定的人?
  • 你有什么问题?
  • @QuickSilver 你的意思是创建一个规则并使用这个宏来转发邮件?
  • @Tim Williams 只是当有人给我发邮件时,我想用相同的附件转发这封邮件,而不用宏自动下载
  • 您发布的代码有问题吗?如果不是您的具体问题是什么?您如何使用发布的代码?

标签: vba outlook


【解决方案1】:

你可以试试这样的。当您收到一封新邮件并被转发时,预计转发的邮件通常至少会发送给新用户,因此所有内容都会保持原样(即附件不会被删除)。

Sub ForwardEmail(item As Outlook.MailItem)
  Dim oMail As MailItem    

  On Error GoTo ErrorHandler
  If oMail.Attachments.Count > 0 Then
   If item.Class = olMail Then
     Set oMail = item.Forward
     With oMail
        .Subject = .Subject 'Can change the subject here
        .HTMLBody = "Please find attached." & vbCrLf & .HTMLBody
        .Recipients.Add "someone@gmail.com" 'email address here
        .Save
        .Send
     End With
  End If
 End If
 ErrorHandler:
  Set oMail = Nothing
End Sub

【讨论】:

  • 非常感谢您的回答,但我想知道我可以将要转发的发件人电子邮件放在哪里,请检查我的编辑
  • @MahmoudAl-Haroon 不要更改您的问题或对其进行编辑,因为无论谁最后阅读它都没有多大意义。关于 emais,您只需要输入 emai 地址,如果它显示的是电子邮件……所以不要输入 someone@gmail.com,而是输入您要发送的电子邮件地址。
  • 看我有一个发件人邮件让我们称它为“发件人”,我需要用相同的附件转发他的邮件,但更改主题和正文这一点现在可以了,我想转发发件人邮件正如我对不止一个人的电子邮件所说的那样,好吗?可以说这些人的电子邮件是“接收者”,这很好,现在我明白我可以将发件人电子邮件放在这里我将从发件人 oMail.Recipients 转发。在此处添加“someone@gmail.com”'电子邮件地址
  • @MahmoudAl-Haroon 请转到 Outlook 并转发电子邮件并观察其行为....将电子邮件转发给另一个人将自动删除发件人的电子邮件...一切都会在字段ToCCBCC 中为空白,唯一保持不变的字段将是主题和附件。因此,当您在oMail.Recipients.Add "someone@gmail.com" 下转发电子邮件时,这将是接收电子邮件的新人。
  • 我不需要手动转发我只是当有人发送电子邮件时我想自动转发它而不是电子邮件我不想在收到电子邮件时按自动转发之类的东西我刚刚打开我的 Outlook 并站在收件箱中的电子邮件上并运行宏,但没有任何反应
猜你喜欢
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 2019-05-18
  • 2016-01-21
  • 1970-01-01
  • 2019-03-12
相关资源
最近更新 更多