我正在使用子程序Outlook
vba
对象发送电子邮件
电子邮件将从我的电子邮件中发送,收件人会看到:myemail@xxx.com
。有什么方法可以让这些收件人收到一封电子邮件,其中包含MyfirstName MylastName
而不是我的电子邮件
Sub Mail_Workbook_1()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.From = "MyfirstName MylastName" 'something like this
.To = "ron@debruin.nl"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.Body = "Hello World!"
....
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
答案 0 :(得分:5)
如果您代表另一个邮箱通过Exchange发送,请设置MailItem.SentOnBehalfOfName
属性(假设您有足够的权限)
如果您要通过特定的SMTP帐户发送邮件,请设置MailItem.SendUsingAccount
属性。
如果您需要以任意SMTP用户身份发送,请参阅this example - 您实际上需要在PS_INTERNET_HEADERS命名空间中设置名为MAPI的“From”属性。请注意,并非所有SMTP服务器都允许您这样做 - Exchange for one不会让您欺骗发件人。
如果要作为属于特定Exchange邮箱的别名(代理)SMTP地址之一发送,则需要通过SMTP发送 - 通过OOM或MAPI发送将始终使用邮箱的默认SMTP地址发送。对于最终用户,您可以配置虚拟POP3 / SMTP帐户或使用Proxy Manager之类的产品。有关详细信息,请参阅MSOutlook.info。