2016-07-12 13 views
0

Gibt es eine Möglichkeit, ich kann den folgenden Befehl MsgBox (mail.To) innerhalb einer onitemsend verwenden, um nur die E-Mail-Adresse und die freundlichen/Alias-Namen zurückgeben? Ich brauche nur die E-Mail-Adresse, die für eine SQL-Abfrage in unserem CRM verwendet wird. Im Moment, wenn ich MsgBox (mail.To) i erhalten:MsgBox (mail.To) E-Mail-Adresse nur und nicht freundlich Name

Joe Bloggs ([email protected]) aber ich möchte: [email protected]

I Glauben Sie, dass es dies tut, weil Outlook die E-Mail in meinem Adressbuch nachschlägt, weil es einen Eintrag gibt, dem nicht geholfen werden kann.

Vielen Dank

+1

Welcher Art ist Ihr Mail-Objekt? – NePh

Antwort

0

Try this:

Dim str As String = mail.To 
    Dim lst As String() = str.Split({" "}, StringSplitOptions.RemoveEmptyEntries) 
    Dim email As String = "" 
    For Each w1 In lst 
     If w1.Contains("@") Then 
      email = w1 
     End If 
    Next 
    email = email.Replace("(", "") 
    email = email.Replace(")", "") 
    MsgBox(email) 
+0

Es gibt absolut keinen Grund, das zu tun, wenn die MailItem.Recipients-Auflistung mit dem Empfänger-Objekt vorhanden ist, das explizit Name und Address-Eigenschaften ausstellt. –

+0

Ich wusste nicht, dass 'MailItem.Recipients' existiert. Danke für die Information :) – BanForFun

0

Verwenden Sie die MailItem.Recipients Sammlung und Schleife durch alle Empfänger. Verwenden Sie die Recipient.Address/Name/Type Eigenschaften.

0
Dim mail As New MailMessage() 
mail = New MailMessage() 
mail.From = New MailAddress("[email protected]", "Your Firends Name") 

vielleicht?