1

配布リストに電子メールを送信する場合、リスト自体はグローバルアドレスリスト(GAL)内にあります。Outlook 2010内でGALにアクセスするには、アドレスブックにアクセスして、適切なアドレスブック(この場合は、ログインしているユーザーのGAL)を選択するだけです。

GAL内のContactGroupのメンバーにアクセスしようとしましたが、IDがないようです(したがって、UniqueIDもありません)。送信された電子メールのToRecipientsプロパティ内からMailboxType.PublicGroupのMailboxTypeとして表示されますが、実際の連絡先アドレスにアクセスする方法がわかりません。

誰かが私がそれらを手に入れる方法を知っていますか?パブリックフォルダ検索を試しましたが、完全な連絡先が検索されましたが、何も見つからないようです。

ダニエル。

4

2 に答える 2

4

ExchangeWebサービスマネージドAPI1.1SDKを使用していますが、これは魅力のように機能します。自分のものと
交換<exchange_server>してください。<group_name>

using System;
using System.Windows.Forms;
using Microsoft.Exchange.WebServices.Data;

namespace test3
{
    public partial class Form1 : Form
    {
        ExchangeService service = null;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            service = new ExchangeService();
            service.Url = new Uri("https://<exchange_server>/EWS/Exchange.asmx");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NameResolutionCollection nameResolutions = service.ResolveName(
                "<group_name>",
                ResolveNameSearchLocation.DirectoryOnly,
                true);

            foreach (NameResolution nameResolution in nameResolutions)
            {
                ExpandGroupResults groupResults = service.ExpandGroup(nameResolution.Mailbox.Address);
                foreach (EmailAddress member in groupResults.Members)
                {
                    Console.WriteLine(member.Name + " <" + member.Address + ">");
                }
            }
        }
    }
}
于 2011-09-08T06:39:04.803 に答える
1

EWSはその仕事に適したツールではありません。ActiveDirectoryにクエリを実行する必要があります。例については、 http://www.infinitec.de/post/2005/02/How-to-get-the-Global-Address-List-programatically.aspxを参照してください。

于 2010-11-21T20:10:39.437 に答える