Email VB脚本更改发件箱中电子邮件的发件人字段

Email VB脚本更改发件箱中电子邮件的发件人字段,email,vbscript,outlook,automation,Email,Vbscript,Outlook,Automation,我在Outlook的发件箱中有电子邮件,我想运行vb脚本将这些电子邮件的“发件人”字段更改为其他电子邮件 我设法做到了以下几点,但它没有像我希望的那样工作,因此我错过了主要部分。如果有人能帮忙,我将不胜感激 intFolderOutbox = 4 msoFileDialogOpen = 1 ' Load requied objects Set WshShell = WScript.CreateObject("WScript.Shell") ' Windows Shell Set ObjO

我在Outlook的发件箱中有电子邮件,我想运行vb脚本将这些电子邮件的“发件人”字段更改为其他电子邮件

我设法做到了以下几点,但它没有像我希望的那样工作,因此我错过了主要部分。如果有人能帮忙,我将不胜感激

intFolderOutbox = 4
msoFileDialogOpen = 1

' Load requied objects
Set WshShell = WScript.CreateObject("WScript.Shell")    ' Windows Shell
Set ObjOlApp = CreateObject("Outlook.Application")      ' Outlook
Set ns = ObjOlApp.GetNamespace("MAPI")                  ' Outlook
Set box = ns.GetDefaultFolder(intFolderOutbox)          ' Outlook    

For Each Item In box.Items        

    *** HERE IS WHAT I NEED TO REPLACE THE FROM FIELD ****
    Item.sender = "email2@gmail.com"
    Item.Update 
    Item.Save

Next
类似于下面的内容可以添加收件人,但我找不到与“发件人”字段等效的内容

Item.Recipients.Add "email2@gmail.com"
这里有一些东西可以帮助我,但对我来说不起作用

Set oAddrEntry = CreateObject("MAPI.AddressEntry") 
oAddrEntry.Name = SYSTEM_ADDRESS 
oAddrEntry.resolve
Set oNewMsg.sender = oAddrEntry
oNewMsg.Update
oNewMsg.Send 

谢谢

首先,一旦邮件被提交(并移动到发件箱),它就不能被触摸-它属于后台处理程序


其次,您不能代表任意用户发送。对于Exchange,请将MailItem.SentonBehalfName属性设置为当前用户可以代表其发送的Exchange邮箱的名称。对于POP3/SMTP帐户,请将MailItem.SendUsingAccount属性设置为Namespace.accounts集合中的一个帐户

谢谢你的反馈。事实上,信息是可以被触动的,我已经在这样做了。关于“MailItem.SentOnBehalfOfName”,你能具体说明一下吗?在我的示例中会是什么情况?不要触摸标记为提交的邮件(Outlook显示为斜体)-这样做将中止提交过程。重新。SentonBehalfName属性-item.SentonBehalfName=“我可以代表某些用户发送”