Send email to all contacts related to a module

Send email to all contacts related to a module

My use case: I have a module named products, the records of which contains a related list of contacts associated with subscribing to that product. In cases where i need to trigger emails manually to give specific unprecedented updates of that product, i have enabled a button in the module, viz " Send email". The attached function is linked. To avoid unintentional mail sending, mails will be triggered only if a specific field ( here "reason") contains some value, otherwise mails wont be sent. This is done because deluge dont provide UI confirmation popups like JS do. 
Another way to achieve the same result is to filter the contacts based on product name in contact module and trigger mails in batches. But since its time consuming, i have found this method to be effective. Let me know if theres a better way to achieve this.