使用VBA发送草稿中的电子邮件

时间:2019-06-01 08:01:49

标签: vba outlook macros

问题描述:

通过宏在Outlook的草稿文件夹中创建的电子邮件很少,一旦宏执行完成,用户将手动验证电子邮件,最后通过单击Outlook中提供的按钮发送所有草稿的电子邮件,然后依次调用宏下面的宏,该宏将通过以下方式发送所有草稿的电子邮件一个。

Sub SendAllDraftEmails()

    Dim draftItem As Long
    Dim outlookApp As Outlook.Application
    Dim outlookNameSpace As Outlook.NameSpace
    Dim draftsFolder As Outlook.MAPIFolder

    Set outlookApp = Outlook.Application
    Set outlookNameSpace = myOutlook.GetNamespace("MAPI")
    Set draftsFolder = outlookNameSpace.GetDefaultFolder(olFolderDrafts)

    For draftItem = draftsFolder.Items.Count To 1 Step -1
           If Len(Trim(draftsFolder.Items.Item(draftItem).To)) > 0 Then
            myDraftsFolder.Items.Item(draftItem).Send
        End If
    Next draftItem

    Set draftsFolder = Nothing
    Set outlookNameSpace = Nothing
    Set outlookApp = Nothing

End Sub

现在的问题是,当我通过第一个宏创建电子邮件时,我会按预期获得所有信息,并且还将通过引用签名的默认路径并访问相应的用户signature.html文件,在每封电子邮件的末尾附加相应的用户签名。还引用了签名中附带的图像。

根据我的理解,我们需要将签名中图像的相对路径更改为绝对路径。 (根据Mozzis的建议-How to add default signature in Outlook

现在,在使用上述宏发送所有草稿电子邮件之后,收件人无法获得带有签名的图像而不是图像,他可以看到图像的边框,但是图像不存在 enter image description here

但是,当我尝试通过单击“发送”按钮手动发送电子邮件草稿时,收件人会自动使用签名图像正确接收所有电子邮件内容。

请告诉我上面的宏中是否需要更改以发送带有图像的电子邮件签名 另外,请告知我们是否需要更改其他内容。 还想了解Outlook如何在发送电子邮件手动方式时实际添加/上传签名图像(消息内嵌图像)。 基本上想了解使用Outlook按钮发送电子邮件与使用SendAllDraftEmails()宏发送电子邮件之间的权衡。

0 个答案:

没有答案