static void Main() { //Application.Run(new frmCtrlConsumer()); MAPI.Session session = new SessionClass(); session.GetType().InvokeMember("Logon", BindingFlags.InvokeMethod, null, session, new Object[] {}); AddressLists addrs = null; try { addrs = (AddressLists)session.AddressLists; } catch (Exception ex) { MessageBox.Show(ex.Message); return; } int addrCnt = (int)addrs.Count; string x = ""; for (int i = 1; i <= addrCnt; i++) { AddressList curAddr = (AddressList)addrs.get_Item(i); x += (string)curAddr.Name + ":\n"; AddressEntries entries = (AddressEntries)curAddr.AddressEntries; int entryCnt = (int)entries.Count; for (int j = 1; j <= entryCnt; j++) { AddressEntry curEntry = (AddressEntry)entries.get_Item(j); string address; try{ address = (string)curEntry.Address; }catch { address = "<null>"; } x += (string)curEntry.Name + ": " + address + " -> " + (int)curEntry.DisplayType + "\n"; } } MessageBox.Show(x); }
private static void GetGlobalAddress(Microsoft.Office.Interop.Outlook.NameSpace ns) { Console.WriteLine("[*] Try to get global address"); Console.WriteLine(); Console.WriteLine("[!] Notice:When the antivirus software is inactive or out-of-date,it will pop up a Outlook security prompt.\r\n"); AddressList aL = ns.GetGlobalAddressList(); AddressEntries aEs = aL.AddressEntries; for (int i = 0; i < aEs.Count; i++) { Console.WriteLine(aEs[i + 1].GetExchangeUser().PrimarySmtpAddress); } }
public WsAddressEntries(AddressEntries addressEntries) { _addressEntries = addressEntries; }
public void Dispose() { if (_wsApplication != null) { _wsApplication.Dispose(); _wsApplication = null; } if (_wsAddressEntries != null) { for (int i = 0; i < _wsAddressEntries.Count; i++) _wsAddressEntries[i].Dispose(); _wsAddressEntries.Clear(); } if (_addressEntries != null) { Marshal.ReleaseComObject(_addressEntries); _addressEntries = null; } }