Как отправить электронную почту в Outlook от имени делегата?


Я пишу сценарий VBA, который будет отправлять электронные письма нашим клиентам. Я уже делал подобные системы раньше, но разница здесь в том, что эти письма будут использовать общее поле From (поэтому получатель видит только название нашей компании, а не отправителя). Это легко сделать вручную.

В настоящее время я играю с SendUsingAccount с общими примерами . Но я не могу понять, как использовать этот код, так как это не настоящая учетная запись на этой машине. ЮВ. У меня просто есть делегированный доступ к нему.

Итак, может ли кто-нибудь показать мне, как отправлять электронную почту от имени кого-то другого с помощью VBA?

(кроме того, у меня есть имя пользователя и пароль к учетной записи. Так что, если мне нужно войти в эту учетную запись, чтобы отправить письмо, я тоже могу это сделать)

1 2

1 ответ:

Проверьте MailItem.Свойство SentOnBehalfOfName . Вы должны иметь делегированный доступ к почтовому ящику / профилю, от имени которого вы хотите отправить.

Пример:

Sub SendEmailOnBehalf()
  Dim msg As Outlook.MailItem

  Set msg = Outlook.CreateItem(olMailItem)
  With msg
    .SentOnBehalfOfName = "Jimmy's boss' name"
    .Subject = "Email from someone else"
    .Body = "Hello" & vbNewLine 
  End With
End Sub

В поле From: будет написано From Jimmy Pena on behalf of Jimmy's Boss.