What is the best way to send multiple emails as SAAS?

Developing SAAS based web application using the Yii2 Framework.

Saas Domain: www dot saas-app dot com
Client A domain: www dot client-a dot com
Client B domain: www dot client-b dot com

I collected SMTP details like Host Name, Username, Password, and Port for each client and stored them in the database to send an email with their domain email addresses. So when Client A send any single email or the system sends a transactional email, it will send using Client A’s SMTP details.

I have to do it to avoid the reputation issue of our SAAS domain.

Recently, there has been a requirement to provide an EMAIL CAMPAIGN solution.

The need is as below:
a Client (or multiple clients) will create a campaign, add users (up to 5000), set the campaign’s subject and message, and schedule to send this campaign on any future date.

I can save this request to the database but do not understand how to send the emails in batches?

There can be N number of Clients, N number of Users and the campaigns.

Currently using “swiftmailer\Mailer.”
Server: AWS

Any recommendation will help achieve this.

Is using mailing service an option?
What is the rate for sending mails in an hour?

No there are no mailing services. Just using SMTP credentials that can be obtained (SMTP, MailJet etc.) and added by clients

I would say 5000

I suggest you take a look at Crontab and Yii2-Queue
Queue your emails and use cron to send few for a given interval. You can google for best number of emails you can send before you are flagged as spam and your IP get balcklisted

1 Like