使用 Excel VBA 从 Gmail 发送电子邮件

问题描述 投票:0回答:1

我在 Outlook 桌面应用程序中设置了 4 个帐户,因此我希望最好从电子邮件 #4(即 gmail)发送电子邮件。

我尝试过同时使用

SendUsingAccount
SentOnBehalfOfName
但都不起作用。 当我尝试时

    With OutlookMail
        .SendUsingAccount = OutlookApp.Session.Accounts.Item("[email protected]")
        .To = Cells(17, 46).Value
        .Subject = "Test Macro"
        .Attachments.Add "C:\Formação em Dados\Grafico e analise Dinamica.pdf"
        .Body = "Test"
        .Send
    End With

电子邮件已发送,但来自我在应用程序中设置的第一个或主帐户,即 [电子邮件受保护]。同样的事情发生在 .

Sender
而不是 .
SendUsingAccount

如果我将 (4) 替换为 ("[email protected]"),我会收到一条错误消息,指出索引超出范围。

如果我尝试

SentOnBehalfOfName
,什么也不会发生,电子邮件甚至根本没有发送。

重要信息:我运行了一个代码来报告每个帐户的索引,但它只显示第一个帐户。我确实在应用程序中配置了所有这些。

excel vba outlook gmail
1个回答
0
投票

您需要将

Set
.SendUsingAccount
一起使用。

这就是你正在尝试的吗?

Option Explicit

Sub SendEmailFromGmail()
    Dim OutlookApp As Object
    Dim OutlookMail As Object
    
    '~~> Create Outlook application object
    Set OutlookApp = CreateObject("Outlook.Application")
    
    '~~> Create a new mail item
    Set OutlookMail = OutlookApp.CreateItem(0)
         
    '~~> Set email properties
    With OutlookMail
        Set .SendUsingAccount = OutlookApp.Session.Accounts.Item("[email protected]")
         
        .Subject = "Your Subject"
        .Body = "Your Email Body"
        .To = "[email protected]"
        
        '~~> Display
        .Display
    End With
    
    '~~> Clean up
    Set OutlookMail = Nothing
    Set OutlookApp = Nothing
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.