Свойство MailItem.SendUsingAccount возвращает или задает объект Учетная запись , представляющий учетную запись, под которой отправляется MailItem
. Например:
private void SendUsingAccountExample()
{
Outlook.MailItem mail = Application.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
mail.Subject = "Our itinerary";
mail.Attachments.Add(@"c:\travel\itinerary.doc", Outlook.OlAttachmentType.olByValue,
Type.Missing, Type.Missing);
Outlook.Account account = Application.Session.Accounts["Hotmail"];
mail.SendUsingAccount = account;
mail.Send();
}
См. Отправить сообщение с помощью учетной записи Hotmail для получения дополнительной информации.
Помните, что в этом случае в Outlook должна быть настроена другая учетная запись.
Свойство SentOnBehalfOfName имеет смысл только в случае профилей / учетных записей Exchange. Более того, вам необходимо иметь необходимые разрешения для отправки от имени другого лица. См. Проблема с SentOnBehalfOfName для аналогичного обсуждения.
В случае, если в профиле настроено несколько учетных записей, вы можете использовать свойство SendUsingAccount , которое позволяет объекту Account, представляющему учетную запись, под которой должен быть отправлен MailItem.
Sub SendUsingAccount()
Dim oAccount As Outlook.account
For Each oAccount In Application.Session.Accounts
If oAccount.AccountType = olPop3 Then
Dim oMail As Outlook.MailItem
Set oMail = Application.CreateItem(olMailItem)
oMail.Subject = "Sent using POP3 Account"
oMail.Recipients.Add ("someone@example.com")
oMail.Recipients.ResolveAll
oMail.SendUsingAccount = oAccount
oMail.Send
End If
Next
End Sub