wake-up-neo.com

Erhalten Sie die E-Mail-Adresse des aktuellen Benutzers in .NET

Ich möchte die E-Mail-Adresse des Benutzers wissen (vorausgesetzt, sie befindet sich in einem typischen Windows-Office-Netzwerk). Dies ist in einer C # -Anwendung. Vielleicht etwas zur Wirkung

CurrentUser.EmailAddress; 
32
Calv1n

Wenn Sie sich hinter einer Windows-Domäne befinden, können Sie ihre E-Mail-Adresse immer aus Active Directory herausholen.

Hier ein Beispiel: http://lozanotek.com/blog/articles/149.aspx

5
Ryan

Referenz System.DirectoryServices.AccountManagement, dann

using System.DirectoryServices.AccountManagement;
UserPrincipal.Current.EmailAddress

Oder mit einer Auszeit:

var task = Task.Run(() => UserPrincipal.Current.EmailAddress);
if (task.Wait(TimeSpan.FromSeconds(1)))
    return task.Result;
105
Colonel Panic

Ich wollte die Active Directory-Option nicht verwenden, und die andere, meist ausgewählte Antwort, funktionierte für mich nicht sonderbar.

Ich durchsuchte meine Codebank und fand das gut und mit einer schnellen Antwort:

using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "[domain]",  dc=xx,dc=yyy"))
{
    UserPrincipal cp = UserPrincipal.FindByIdentity(ctx, Environment.UserName);
    userEmail = cp.EmailAddress;
}
1
BillJam
// Simply by using UserPrincipal
// Include the namespace - System.DirectoryServices

using DS = System.DirectoryServices;
string CurrUsrEMail = string.Empty;
CurrUsrEMail = DS.AccountManagement.UserPrincipal.Current.EmailAddress;
0
fengfu bon