通过VBA的SMTP Outlook地址

时间:2013-01-18 22:10:47

标签: vba smtp excel-2007 outlook-2007

我正在尝试通过VBA检索Outlook 2007中的一组电子邮件的SMTP地址。 我需要发件人的完整SMTP地址。主要是地址来自EXCHANGE 2007服务器。

我有smtp地址test@something.co.uk; test1@something.co.uk; test3@somthing.co.uk在另一个表中查看另一个字段的电子邮件地址。

我需要使用电子邮件中的SMTP地址来执行对该字段的查找。

执行storename = mItem.SenderEmailAddress时,我得到一个x400地址,但我需要SMTP地址。肯定有一种方法可以解决这个问题。我不想使用兑换。我希望有人可以为此提供答案。

由于 ħ

1 个答案:

答案 0 :(得分:0)

尝试下面的代码,尽管在2010年忙于使用

Sub Test()
Dim appOutlook As Outlook.Application
Dim nsOutlook As Outlook.Namespace
Dim cfOutlook As Outlook.Folder
Dim ifOutlook As Outlook.Folder
Dim x  As Long
Dim y As Long

'Create a new instance of the Outlook application.
'Set the Application object as follows:
Set appOutlook = New Outlook.Application

'use the GetNameSpace method to instantiate (ie. create an instance)
'a NameSpace object variable, to access existing Outlook items.
'Set the NameSpace object as follows:
Set nsOutlook = appOutlook.GetNamespace("MAPI")

'assign the object variable cfOutlook to the default Contacts folder:
Set cfOutlook = nsOutlook.GetDefaultFolder(olFolderContacts)
MsgBox cfOutlook

'assign the object variable ifOutlook to the default Inbox folder:
Set ifOutlook = nsOutlook.GetDefaultFolder(olFolderInbox)
MsgBox ifOutlook


y = nsOutlook.Accounts.Count
MsgBox y

For x = 1 To y
MsgBox nsOutlook.Accounts(x)
MsgBox nsOutlook.Accounts.Item(x).SmtpAddress
Next x

End Sub