簡體   English   中英

如何檢索發件人電子郵件地址

[英]How to retrieve the sender email address

我在 Outlook 2013 中編寫了一個宏,我需要在其中檢索發件人電子郵件地址作為字符串

一個簡單的版本是

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

Dim oMail As MailItem
Set oMail = Item

Dim sender as String
sender = oMail.SenderEmailAddress 

End Sub 

以上效果很好。

我現在已經向 Outlook 添加了一個新的電子郵件帳戶,這就是問題所在。

如果我創建一個新電子郵件,它將使用我的 default@mail.com 電子郵件地址。 如果我然后更改從其發送電子郵件的帳戶(到 myOtherAccount@mail.com),VBa 中的 SenderEmailAddress 不會反映此更改......它仍然顯示(在監視窗口中)為 default.mail.com

我怎樣才能讓 Outlook 重新檢查發件人(因為我認為它在某個地方緩存了它)?

所有與發件人相關的屬性都ItemSend事件觸發設置。 您最早可以看到發件人屬性是在“已發送郵件”文件夾上觸發Items.ItemAdd事件時。

只需在 application:startup 中定義您的文件夾

Public Sub Application_Startup()

Set myNameSpace = Application.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderSentbox)

結束子

然后只需將上面的代碼更改為 itemAdd 事件,例如

Private Sub myFolder_ItemAdd(ByVal item As Object)

嘗試這個:

senderEmail = Item.SendUsingAccount

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM