我正在使用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
Run Code Online (Sandbox Code Playgroud)
如果您代表另一个邮箱通过Exchange发送,请设置该MailItem.SentOnBehalfOfName属性(假设您具有足够的权限)
如果要通过特定SMTP帐户发送,请设置该MailItem.SendUsingAccount属性.
如果您需要以任意SMTP用户身份发送,请参阅此示例 - 您将基本上需要在PS_INTERNET_HEADERS命名空间中设置名为MAPI的"From"属性.请注意,并非所有SMTP服务器都允许您这样做 - Exchange for one不会让您欺骗发件人.
如果要作为属于特定Exchange邮箱的别名(代理)SMTP地址之一发送,则需要通过SMTP发送 - 通过OOM或MAPI发送将始终使用邮箱的默认SMTP地址发送.对于最终用户,您可以配置虚拟POP3/SMTP帐户或使用Proxy Manager之类的产品.有关更多信息,请参阅MSOutlook.info.