[英]How to extract all email address from an Indy TIdMessage object?
使用Indy,如何提取TIdMessage
的“ To
,“ Cc
和“ Bcc
字段中存在的所有電子郵件地址? 由於這些字段可以包含多個地址,因此我必須解析它們,但是我沒有為此找到任何現成的函數(也許我錯過了嗎?)。
您顯然沒有讀過
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.