我在 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
,什么也不会发生,电子邮件甚至根本没有发送。
重要信息:我运行了一个代码来报告每个帐户的索引,但它只显示第一个帐户。我确实在应用程序中配置了所有这些。
您需要将
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