2015-08-24 78 views
0

我的電子郵件在我的Outlook中的發件箱,我想運行一個VB腳本來改變這些電子郵件領域的一些其他電子郵件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 = "[email protected]" 
    Item.Update 
    Item.Save 

Next 

類似下面的工作添加一個收件人,但我找不到等效於從字段。

Item.Recipients.Add "[email protected]" 

下面是一些可以幫助,但它並沒有在我的情況下工作

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

感謝

回答

0

首先,一旦消息被提交(並移動到發件箱),它不能是感動 - 它屬於假脫機程序。其次,你不能代表任意用戶發送。在Exchange的情況下,將MailItem.SentOnBehalfOfName屬性設置爲當前用戶可以發送的Exchange郵箱的名稱。如果是POP3/SMTP帳戶,請將MailItem.SendUsingAccount屬性設置爲Namespace.Accounts集合中的一個帳戶。

+0

感謝您的反饋。其實這個信息可以被觸及,而且我已經這麼做了。你可以具體關於「MailItem.SentOnBehalfOfName」嗎?這在我的例子中將如何? – JustQn4

+0

請勿觸摸標記爲要提交的郵件(Outlook將顯示爲斜體) - 這樣做會中止提交過程。回覆。 SentOnBehalfOfName屬性 - item.SentOnBehalfOfName =「我可以代表的某個用戶發送」 –