Outlook-带有原始附件的自动向前电子邮件



我已经看到这个问题发表了几次,但是经过广泛的看法,我没有找到成功的答案。

我正在尝试为Outlook创建一个脚本,该脚本将带有附件回到发件人的电子邮件中,并带有更新的消息,其中包括原始附件。一切都在工作,除了我做什么,我无法转发附件。如果我只是使用。forward,则不包括附件。如果我尝试使用.Attachment属性,它会打破脚本。

代码:

Sub ForwardEmail(Item As Outlook.MailItem)
    With Item.Forward
        .Attachments.Add Item.Attachment
        .Subject = ("APPROVED - ") & Item.Subject
        .Recipients.Add Item.SenderEmailAddress
        .Body = "Your timesheet has been approved." & vbCrLf & Item.Body
        .Send
    End With
End Sub

Microsoft Outlook(以及其他电子邮件引擎(例如Gmail,Yahoo))以这种方式进行了设计:

  1. 回复邮件时,接收器不需要与接收器在输出箱中已有的附件(除非已删除)。它也节省了服务器和网络带宽上的存储空间。
  2. 当邮件转发时,预计通常至少是新用户,因此所有内容都保持原样(即未删除附件)

因此,请使用此代码。它遵循上面提到的规则#2,即每当您转发电子邮件时,附件都会自动附加。

Sub ForwardEmail(item As Outlook.MailItem)
  Dim oMail As MailItem    
  On Error GoTo Release
  If item.Class = olMail Then
     Set oMail = item.Forward
     oMail.Subject = ("APPROVED - ") & Item.Subject
     oMail.HTMLBody = "Your timesheet has been approved." & vbCrLf &  oMail.HTMLBody
     oMail.Recipients.Add Item.SenderEmailAddress
     oMail.Save
     oMail.Send
  End If
 Release:
  Set oMail = Nothing
  Set oExplorer = Nothing
End Sub

最新更新