Okay... here is what I have... the start of 3 new UDFs. The getUserDN may already exist somewhere [edit: ahh... so this is what TranslateName() does. /edit], so I may have reinvented the wheel. The UDFs still need some cleanup, debugging, etc, but should be working. As we discussed, the AD perms may be an issues with the SET udf.break on $ =setoption ("NoMacrosinstrings" ,"on" ) for each $email in getemailaddresses () ; current user ? $email next ?$defaultemailaddress =GetemailAddresses ()[0 ] ;current user ? $defaultemailaddress for each $email in getemailaddresses ("johndoe" ) ; define the username ? $email next Function getUserDN($username ) ;http://www.rlmueller.net/NameTranslateFAQ.htm Dim $objTrans $objTrans = CreateObject ("NameTranslate" ) if @error exit @error else $objTrans.Init (3 , "" ) $objTrans.Set (3 , @ldomain + "\" + $username ) $getUserDN = $objTrans.Get (1 ) if @error exit @error endif endif EndFunction function GetEmailAddresses(optional $user ) dim $addys [0 ], $objuser , $objsysinfo , $email , $i if $user $ObjUser =GetObject ("LDAP://" + GetUserDN ($user )) else $objSysInfo = CreateObject ("ADSystemInfo" ) $objUser =getobject ("LDAP://" + $objSysInfo.UserName ) endif For each $email in $objUser.proxyAddresses select case left ($email ,4 )=="SMTP" $addys [0 ]=right ($email ,-5 ) case left ($email ,4 )=="smtp" $i =$i +1 redim preserve $addys [$i ] $addys [$i ]=right ($email ,-5 ) endselect Next $GetEmailAddresses =$addys endfunction function SetDefaultEmailAddress($defaultemail ,optional $user ) dim $addys [0 ], $objuser , $objsysinfo , $email , $i if $user $ObjUser =GetObject ("LDAP://" + GetUserDN ($user )) else $objSysInfo = CreateObject ("ADSystemInfo" ) $objUser =getobject ("LDAP://" + $objSysInfo.UserName ) endif For each $email in $objUser.proxyAddresses select case right ($email ,-5 )=$defaultemail $addys [0 ]="SMTP:" + $defaultemail case left ($email ,4 )="smtp" $i =$i +1 redim preserve $addys [$i ] $addys [$i ]="smtp:" + right ($email ,-5 ) case 1 $i =$i +1 redim preserve $addys [$i ] $addys [$i ]=$email endselect Next if $addys [0 ] ;$setdefaultemailaddress=$addys $objUser.proxyAddresses =$addys $objUser.setinfo endif endfunction