我在Outlook帐户上设置了一封Outlook电子邮件,让我们说" example@xxx.com"。
我有另一个"电子邮件帐户",让我们说" alias@zzz.net" ;,这只是指向我的@ xxx.com帐户的指针
Outlook没有指针帐户的设置,除了我可以在From字段中输入它。我已将Outlook设置为手动更改@ xxx.com和@ zzz.net之间的“发件人”字段。
由于我的@ xxx.com电子邮件是实际的电子邮件,因此Outlook默认使用“发件人”字段中的该电子邮件。我希望这是相反的,即我发出的任何电子邮件在“发件人”字段中都有" alias@zzz.com。
我尝试使用以下代码:
Public WithEvents myItem As Outlook.MailItem
Private Sub Application_ItemLoad(ByVal Item As Object)
If (TypeOf Item Is MailItem) Then
Set myItem = Item
End If
End Sub
Private Sub FromField()
With myItem
.SentOnBehalfOfName = "alias@zzz.com"
.Display
End With
End Sub
Private Sub myItem_Open(Cancel As Boolean)
FromField
End Sub
将FromField子放入Application_ItemLoad不起作用。
答案 0 :(得分:0)
无法执行此操作 - Exchange在发送传出邮件时始终使用主SMTP地址。作为代理地址之一发送的唯一方法是通过SMTP执行此操作。您可以创建虚拟POP3 / SMTP帐户(确保POP3不下载邮件)或使用Proxy Manager - 它将自己直接安装到Outlook中并透明地使用SMTP。
有关选项列表,请参阅http://www.msoutlook.info/question/send-mail-from-additional-exchange-address-or-alias。
答案 1 :(得分:0)
您需要使用MailItem类的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
只有在Exchange帐户的情况下,SentOnBehalfOfName属性才有意义。此外,您需要具有代表其他帐户发送电子邮件的权限。