【问题标题】:.SendUsingAccount selection for .onmicrosoft.com custom domain account.onmicrosoft.com 自定义域帐户的 .SendUsingAccount 选择
【发布时间】: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


    【解决方案1】:
    Set objOlAccount = OlApp.Session.Accounts.Item(i)
    

    应该是

    Set objOlAccount = OlApp.Session.Accounts.Item(AccNo)
    

    可能会更好:

    For i = 1 To OlApp.Session.Accounts.Count
        If OlApp.Session.Accounts.Item(i).SmtpAddress = "person@company.onmicrosoft.com" Then
            Set objOlAccount = OlApp.Session.Accounts.Item(i)
            Exit For
        End If
    Next i
    
    If Not objOlAccount Is Nothing then
        Set OlMail = OlApp.CreateItem(olMailItem)
        Set OlMail.SendUsingAccount = objOlAccount
    End If
    

    【讨论】:

      【解决方案2】:

      如果您通过 Outlook 中的 Exchange 帐户发送邮件,它始终使用该帐户的默认 SMTP 地址。

      要解决此问题,您需要使用直接 SMTP 发送(如果您使用代理地址之一,它会保留正确的发件人地址)。在最终用户级别,您可以使用像 Proxy Manager. 这样的实用程序

      如果只是“@company.com”与“@company.onmicrosoft.com”的问题,您需要在 Exchange 管理控制台中将“@company.com”地址设置为默认地址。

      【讨论】:

        【解决方案3】:

        当我添加我的 person@company.com 帐户时,我使用了 IMAP 设置。 Microsoft Exchange 服务器通过 Exchange 添加了第二个人@company.com 帐户,而我没有意识到我有两个这样的帐户。删除 person@company.com 帐户后,我使用了 IMAP 设置,所有内容都已排序。

        【讨论】:

          猜你喜欢
          • 2016-10-12
          • 2019-02-08
          • 2017-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-19
          • 2023-03-20
          相关资源
          最近更新 更多