Voir le flux RSS

Oliv-

[Actualité] Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message.

Noter ce billet
par , 04/06/2015 à 13h12 (523 Affichages)
Lorsque vous avez dans OUTLOOK, un compte Exchange avec des ALIAS, il peut être intéressant de trouver sur quelle ADRESSE on vous a écrit, notamment pour se désabonner d'une newsletter.

c'est l'équivalent en manuel de rechercher "to:" dans Fichier/propriétés : en tête internet.

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Function GetToFromHeader(objMail As Outlook.MailItem) As String
'---------------------------------------------------------------------------------------
' Procedure : GetToFromHeader
' Author    : OLIV- from original code brettdj
' Date      : 04/06/2015
' Purpose   :
'---------------------------------------------------------------------------------------
'
    Dim objRegex As Object
    Dim objRegM As Object
    Dim MailHeader As String
    Dim ExtractText As String
    Dim i
    Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001F"
    MailHeader = objMail.PropertyAccessor.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
 
    Set objRegex = CreateObject("vbscript.regexp")
    With objRegex
        .ignorecase = True
        .Pattern = "(\n)To:.*<(.+)>"
        If .test(MailHeader) Then
            Set objRegM = .Execute(MailHeader)
            For i = 0 To objRegM(0).submatches.Count - 1
            If InStr(1, objRegM(0).submatches(i), "@", vbTextCompare) Then
            GetToFromHeader = objRegM(0).submatches(i)
            Exit For
            End If
            Next i
        Else
            GetToFromHeader = "No match"
        End If
    End With
End Function


Ajout du pendant l'expéditeur "FROM"

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
Sub test_FromToFromHeader()
Dim objMail As Outlook.MailItem
 
Set objMail = ActiveInspector.CurrentItem
MsgBox GetFromFromHeader(objMail)
End Sub
 
Function GetFromFromHeader(objMail As Outlook.MailItem) As String
'---------------------------------------------------------------------------------------
' Procedure : GetToFromHeader
' Author    : OLIV- from original code brettdj
' Date      : 04/06/2015
' Purpose   :
'---------------------------------------------------------------------------------------
'
    Dim objRegex As Object
    Dim objRegM As Object
    Dim MailHeader As String
    Dim ExtractText As String
    Dim i
    Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001F"
    MailHeader = objMail.propertyAccessor.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
 
    Set objRegex = CreateObject("vbscript.regexp")
    With objRegex
        .ignorecase = True
        .Pattern = "(\n)From:.*<(.+)>"
        If .test(MailHeader) Then
            Set objRegM = .Execute(MailHeader)
            For i = 0 To objRegM(0).submatches.Count - 1
            If InStr(1, objRegM(0).submatches(i), "@", vbTextCompare) Then
            GetFromFromHeader = objRegM(0).submatches(i)
            Exit For
            End If
            Next i
        Else
            GetFromFromHeader = "No match"
        End If
    End With
End Function

On peut l'utiliser en Complément de cette fonction

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Function Get_sender_SMTP(Oitem As Outlook.MailItem) As String
    Dim oEU As Outlook.ExchangeUser
    On Error Resume Next
    Set oEU = Oitem.Sender.GetExchangeUser
 
    Get_sender_SMTP = oEU.PrimarySmtpAddress
 
    'si l'expéditeur EXCHANGE n'existe plus dans l'annuaire
    If Get_sender_SMTP = "" Then Get_sender_SMTP = GetFromFromHeader(Oitem)
 
 
    If Get_sender_SMTP = "" Then Get_sender_SMTP = Oitem.SenderEmailAddress
End Function

Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Viadeo Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Twitter Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Google Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Facebook Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Digg Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Delicious Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog MySpace Envoyer le billet « Obtenir à partir des en-têtes internet l'adresse sur laquelle on vous a envoyé ce message. » dans le blog Yahoo

Mis à jour 18/04/2018 à 17h12 par Oliv-

Tags: alias, outlook, vba
Catégories
Sans catégorie

Commentaires