Я использую Office 365 (Outlook версии 1909, сборка 12026.20264).
Я настроил две учетные записи электронной почты (a@a.com и b@b.com) и один общий почтовый ящик (shared@b.com). ).
С моей учетной записью b@b.com у меня есть разрешение на отправку электронной почты с shared@b.com.
Я могу вручную отправлять электронную почту со всех учетных записей (a@a.com,b@b.com, shared@b.com).
У меня есть код VBA для отправки электронной почты с shared@b.com с использованием свойства SentOnBehalfOfName.
Sub TEST()
Dim origEmail As MailItem
Dim replyEmail As MailItem
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set replyEmail = Application.CreateItemFromTemplate("C:\...\Template.oft")
replyEmail.SentOnBehalfOfName = "shared@b.com"
replyEmail.HTMLBody = replyEmail.HTMLBody & origEmail.Reply.HTMLBody
replyEmail.Subject = "RE:" + origEmail.Subject
replyEmail.Display
End Sub
Обычно это отправляет электронные письмаправильно. Я вижу, что они переходят в отправленную папку в учетной записи b@b.com.
Иногда он пытается отправить электронную почту, используя учетную запись a@a.com (у которой нет разрешения на отправку электронной почты с shared @ b). .com). Я получаю сообщение об ошибке на a@a.com, и письмо не отправляется.
Как я могу изменить свой код, чтобы каждый раз, когда я отправляю электронное письмо с shared@b.com, он использовал мой b @ b.com account?
Примечание. Я установил учетную запись b@b.com в качестве учетной записи по умолчанию.