Well, so far, I have been using php built in function, mail(), and I have no problems with it, even I sent a blast to 1000+ users. But then, lately I found this phpmailer, w
Q1: You should definitely switch away from using mail()
Q2: mail()
function is really, really for simple stuff. Mail libraries hide a lot of low level stuff from the user, and offer simple ways to make HTML emails, embedded images in mail, etc.
Instead of phpmailer I'd recommend SwiftMailer
I've used SwiftMailer to send 15000+ mails, but as you'll find in SwiftMailer documentation, its recommended to send mails in smaller batches (depends on you server ex. 100, 200, 500 per batch), using cron.