簡體   English   中英

如何從Indy TIdMessage對象提取所有電子郵件地址?

[英]How to extract all email address from an Indy TIdMessage object?

使用Indy,如何提取TIdMessage的“ To ,“ Cc和“ Bcc字段中存在的所有電子郵件地址? 由於這些字段可以包含多個地址,因此我必須解析它們,但是我沒有為此找到任何現成的函數(也許我錯過了嗎?)。

您顯然沒有讀過

TIdMessage文檔:

TIdMessage.BccList

TIdMessage.CCList

TIdMessage.Recipients
標識郵件的收件人。

property Recipients: TIdEmailAddressList;

描述
收件人是一個TIdEMailAddressList屬性,用於存儲標識郵件收件人的TIdEmailAddressItem值。 對收件人使用CCList可以接收郵件的副本。 使用BCCList的收件人可以收到郵件的“密件抄送”。

所有這些屬性為您提供了TIdEmailAddressList ,您可以從中獲取地址。

這是Google搜索Indy TIdMessage的第二項。

例如:

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;

請注意,Indy文檔經常使用with關鍵字。
盡管很方便,但是使用with是一個非常糟糕的主意 ,我建議您不惜一切代價避免使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM