TIdEMailAddressListでメールアドレス複数指定形式を解析する

よくメールで複数人指定する場合には
“名前” <メール@アドレス.com>, “名前” <メール@アドレス.com>, “名前” <メール@アドレス.com>
という形式を使います。

TIdEMailAddressListを使うと、このような文字列を簡単に解析することができます。

方法は簡単です。

TIdEMailAddressListのEMailAddressesプロパティに複数メールアドレスの文字列を設定します。

TIdEMailAddressList* list = new TIdEMailAddressList(NULL);
list->EMailAddresses = L""テスト1" <test1@example.com>, "テスト2" <test2@example.com>, "テスト3" <test3@example.com>";

あとは、Itemsプロパティを参照するだけです。

TIdEMailAddressItem* item = list->Items[i];

サンプルコード

TIdEMailAddressList* list = new TIdEMailAddressList(NULL);
list->EMailAddresses = L""テスト1" <test1@example.com>, "テスト2" <test2@example.com>, "テスト3" <test3@example.com>";
for (int i = 0; i < list->Count; ++i)
{
  TIdEMailAddressItem* item = list->Items[i];
  TListItem* listItem = ListView1->Items->Add();
  listItem->Caption = item->Name;
  listItem->SubItems->Add(item->User);
  listItem->SubItems->Add(item->Domain);
  listItem->SubItems->Add(item->Address);
  listItem->SubItems->Add(item->Text);
}

実行結果

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください