Email Address Disclosures, Preliminary Report
Since both users mentioned were the last in the list of addresses for the email they received, my money's on a trivial mistake like:<p><pre><code>    getEmailBody(users[:i])
</code></pre>
instead of<p><pre><code>    getEmailBody(users[i])
</code></pre>
I typically prefer a high level of polymorphism in my code/APIs (sensibly handling single inputs vs. arrays) but this is a great counter-example even if not the actual root cause. Every feature is also a liability. Double edged sword. Etc.