Domanda

Ho cercato di scoprire un modo per scoprire che gli indirizzi di posta elettronica sono stati inviati una mail.Considera quanto segue:

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim mai As MailItem
    Dim intInitial As Integer
    Dim intFinal As Integer
    Dim strEntryId As String
    Dim intLength As Integer

    intInitial = 1
    intLength = Len(EntryIDCollection)
    intFinal = InStr(intInitial, EntryIDCollection, ",")
    Do While intFinal <> 0
        strEntryId = Strings.Mid(EntryIDCollection, intInitial, (intFinal - intInitial))
        Set mai = Application.Session.GetItemFromID(strEntryId)
        intInitial = intFinal + 1
        intFinal = InStr(intInitial, EntryIDCollection, ",")
    Loop
    strEntryId = Strings.Mid(EntryIDCollection, intInitial, (intLength - intInitial) + 1)
    MsgBox strEntryId
    Set mai = Application.Session.GetItemFromID(strEntryId)
    For Each Recipient In mai.Recipients
        MsgBox Recipient
    Next
End sub
.

In quei msgbox ottengo il "bel nome", come "John Doe" - ma voglio ottenere l'indirizzo della posta, "john.doe@gmail.com".

Come posso ottenere questo?

Grazie!

È stato utile?

Soluzione

Suppongo che questa sia Outlook 2007+.Hai provato il Proprietà indirizzo ?

For Each Recipient In mai.Recipients
  MsgBox Recipient.Address
Next Recipient
.

Questo dovrebbe stampare l'indirizzo email di ciascun destinatario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top