The thing you need to understand is using normal PHP mailers wont cause mail to go to spam if ALL mail rules are followed, how it is sent does not matter. Here is a list of things that should be done if you send mail from your own sender or a external one.
Mail should contain a persons full name, most mail clients and systems now actually see if a users full name is listed, if not it can be a spam indicator. "Hello, Anthony Rossbach" or even "Hello, Anthony" is way better then "Hello,".
Use the mail bulk sending flag to tell mail servers that they might see more then one email from you.
Have a unique ID with each email at the bottom of the message as a send receipt that you can reference from your database later for issues. You can store who the message was for and the email sent to. (You can also build this into the unsubscribe system to use the code per email).
Have full DKIM, don't send mail from the same place on your domain you do company emails. This is why mail from sites like Apple, Google, Twitter, Facebook are not "email@apple.com" they are "shipping_notification@orders.apple.com" This allows the mail system to have DKIM and other mail TXT records that are unique to that mail sender and not shared with personal or other company mail senders (like support inbox platforms).
There are a LOT more rules, but this is the basics to get started. The real question is why do you need to send so many emails, are they required, and if so what is the budget you want to spend. Outside mailers will be expensive at this scale.