Let me explain our situation:
We have a web application that uses subdomains for each customer instance:
Every instance can have over 500 users, which all have entered their own email address. We send different kinds of emails to these users. If a newsletter is sent for example, an email has to go out to 500+ users (bulk)(contents are slightly different). But on other occasions we send emails to single users (reset password, reminders...). We also have applications that can 'manage' different instances of our application. From their own application they can send notifications to all users in all their associated application instances (for example 5000 users).
Replying to emails that people receive is not necessary, so we could a no-reply@...... (but then that email has to exist? We have over 13k instances, does that mean 13k no-reply addresses?)
The user receiving the email should see that the email comes from their instance name (customer1).
There is not an email for every instance like email@example.com
Currently we are having loads of problems with bounced emails. We are classified as spam, even though we send our emails through SendGrid (shared IP). We are positive that none of the emails that are sent are spam.
How should we send our emails? What sender / from / reply-to.... headers should we use? How can we minimize our bounce rates?