Because of the size of our subscription list, the "send mass email" function usually stop before getting to the end of the list (is usually 24hrs for some strange reason)
Currently we have no way to restart the mass email and only send to those who haven't been sent an email already.
We could add a column to the newslettersubscription table that has ID of last campaign that was sent to (LastCampaignSentTo). Then for the "send mass mail" function have a condition that excludes subscriptions where they have already been sent the current campaign
Where LastCampaignSentTo <> CurrentCampaignID
This way any subsriber will never be sent an email from the same campaign twice.
Even if we have such LastCampaignSentTo column. What if a campaign was already successfully sent and then a store owner edited it and want to send it one more time? He'll just not be able to do it with this implementation
P.S. I'm sure that it's highly recommended to your mail services such as MailChimp if you have a large subscription list.
I'd advise hooking into a email marketing campaign tool. Email marketer by Interspire. It provides a richer set of tools for the running of email marketing campaigns.
We can provided a hosted and supported version of this product and integrate with Nop or provide guidance. As well as provide help with the tool eg design of email templates and training.