如何从Indy TIdMessage对象中提取所有电子邮件地址?

时间:2016-09-27 17:06:40

标签: delphi indy10

使用Indy,如何提取Cc的{​​{1}},BccTIdMessage字段中显示的所有电子邮件地址?由于这些字段可以包含多个地址,我必须解析它们,但我没有找到任何现成的功能(也许我已经错过了它?)。

1 个答案:

答案 0 :(得分:5)

你显然没有看过

TIdMessage documentation:

  

TIdMessage.BccList

     

TIdMessage.CCList

     

<强> iframe
  标识邮件的收件人。

     

TIdMessage.Recipients

     

<强>描述
  收件人是property Recipients: TIdEmailAddressList;属性,用于存储标识邮件收件人的TIdEMailAddressList值。使用TIdEmailAddressItem收件人可以收到邮件的Carbon Copy。使用CCList收件人可以收到邮件的盲目复制副本。

所有这些属性都会为您提供可以为地址收集的TIdEmailAddressList

这是Google搜索Indy TIdMessage的第二项。

例如:

BCCList

请注意,Indy文档大量使用function GetEmailAddresses(const Email: TIdMessage): TStringList; var Item: TIdEmailAddressItem; begin Result := TStringList.Create; for Item in Email.Recipients do Result.Add(Item.Address); for Item in Email.CcList do Result.Add(Item.Address); for Item in Email.BccList do Result.Add(Item.Address); end; 关键字 虽然方便using with is a very bad idea,但我建议你不惜一切代价避免它。