0

我想获取来自特定发件人的未读邮件的电子邮件地址。我尝试了以下代码,但它不起作用

Set olApp=CreateObject("Outlook.Application")
Set olMAPI=olApp.GetNameSpace("MAPI") 
Set oFolder = olMAPI.GetDefaultFolder(6)
Set allEmails = oFolder.Items

For Each email In oFolder.Items


If email.Unread = True Then
If email.SenderEmailAddress="Kalyanam.Raghuram@xxxx.com" Then

MsgBox email.Subject


End If
End If
Next

所以我通过插入此代码检查了“email.SenderEmailAddress”实际上正在验证的内容

For Each email In oFolder.Items

If email.Unread = True Then

MsgBox email.Subject
MsgBox email.SenderEmailAddress


End If
Next

它给了我一些无法理解但可读的输出。请让我知道任何解决方案。

4

2 回答 2

0

您发布的代码对我有用,我使用的是带有 Outlook 2007 的 Windows Vista

我要改变的一件事是

        如果 LCase(email.SenderEmailAddress) = LCase("Kalyanam.Raghuram@xxxx.com") 那么
          wscript.echo email.Subject
        万一

于 2013-05-08T19:17:04.097 回答
0

Dio 你的意思是你得到了一个 EX 类型的地址而不是预期的 SMTP?

你看过 _ExchangeUser.PrimarySmtpAddress 吗?在您的情况下,您可以使用 MailItem.Sender.GetExchangeUser.PrimarySmtpAddress。准备好处理空值,因为每个值都可以为空。

于 2013-05-08T20:24:13.783 回答