【发布时间】:2020-09-03 16:50:26
【问题描述】:
我为我的 Microsoft 365 商业帐户设置了一个自定义域(“@company.com”是自定义域,实际上是“@company.onmicrosoft.com”)。
我有另外两个帐户,它们通过“@yahoo.com”、“@gmail.com”等其他邮件服务器。
我创建了一个 VBA 子程序来发送电子邮件并使用 .SendUsingAccount 根据需要使用不同的帐户发送。
该功能适用于“@yahoo.com”、“@gmail.com”帐户,但当我选择“@Company.com”(默认)帐户时,基本上是“@company.onmicrosoft.com”帐户,它会选择紧随其后的“@yahoo.com”帐户。
代码如下:
For i = 1 To OlApp.Session.Accounts.Count
If OlApp.Session.Accounts.Item(i).SmtpAddress = "person@company.onmicrosoft.com" Then AccNo = i
' Debug.Print "Acc name: " & OlApp.Session.Accounts.Item(i) & " Acc number: " & i & " , email: " & OlApp.Session.Accounts.Item(i).SmtpAddress
Next i
Set objOlAccount = OlApp.Session.Accounts.Item(i)
Set OlMail = OlApp.CreateItem(olMailItem)
Set OlMail.SendUsingAccount = objOlAccount
当我运行 Debug.Print 时,我看到 i=1 的“person@company.onmicrosoft.com”帐户,i=2 的“@yahoo.com”帐户,i=3 的“@Gmail.com”帐户.
我强制选择:设置 objOlAccount = OlApp.Session.Accounts.Item(1),但我的“@yahoo.com”帐户仍用于发送电子邮件。
如何将发送帐户设置为我的“@company.com”(“@company.onmicrosft.com”)帐户?
【问题讨论】:
标签: vba outlook office365 email