its easier than you think to write this yourself.
You simply set the bounce back path in the headers. Then set up that email address to run a processing script. you obviously would need to send some form of user id.
I have used PHPList before and find it fine, there are better services to do what you need but obviously there is a cost for them.
Bounces occur when the address doesn't exists or the mail server sends it back. Some mail servers will not reply (as a security feature) so accuracy won't be the best.
A lot of the standalone/libraries offer extra features
working out which links were clicked and by who
working out who read the email. etc
these things are easy to achieve but take resources.
Let me know if there is anything else you need help with