Depending on the actual implementation, it may be possible to use something like a list variable to store the intermediate values. When your iterator goes through that variable, to read the final email addresses, based on whether the email already appeared or not it would either skip it or add it.
However, notice that [ITPilot](https://community.denodo.com/docs/html/browse/8.0/en/platform/upgrade/features_deprecated#itpilot) is a deprecated component, so if the source offers an API, I would try to implement that use case without ITPilot by VDP only. That way, you would be able to use a DISTINCT clause in order to not get duplicate email addresses and use those values as input for sending the mails.
If you have a valid support user, I would recommend to [open a support case](https://support.denodo.com/) for that scenario so that it can be reviewed in more detail with the Denodo team.
Hope this helps!