Email Campaign - Hold Send Emails

The Pixel Shop Inc. asked on March 18, 2020 20:40

Our website will have more than one campaign happening at the same time. So imagine a scenario that we start a campaign and it starts sending emails to 100K people, after 5 minutes the users figure out that they need to start a new campaign that is more important than the first one. So, they need to hold the emails from the first campaign and start sending emails to the second campaign.

Is there a way to hold emails in the queue and/or prioritize emails in the queue?

I already checked if I could customaze the send email task, but it is not available. I also thought about updating the email status directly in the CMS_Email table to a status not non by Kentico just to hold it, but it looks pretty gross, do you guys have any other better ideias?

Recent Answers


Peter Mogilnitski answered on March 19, 2020 03:23

if I am not mistaken emails with higher priority should go first. But marketing emails has always a low priority and it just mean they are "less important than system e-mails." First of all system sends registration notification e-mails, forgotten password message and so on, and then it sends marketing emails. I would not play with priority here. If I add email to queue it will probably has a normal priority.

If someone made a mess it does not mean that you have to change the order of things. if they want to have control there are plenty of 3 rd party tools that allow to mange email campaigns externally. But that does not guarantee that you wont have the same situation there.

Anyway to me what happened is more an exception. If you want to stop the campaign - it more manual process. Stop the email service. Find out what left of the first campaign (in the cms_email) - save it somewhere. Delete it from DB. Start the email service. Launch the second. When it finishes - insert first campaign back in DB .

3 votesVote for this answer Mark as a Correct answer

Dmitry Bastron answered on March 19, 2020 11:41

Peter is absolutely right on this. It looks like an exception case.

But another point, if it is only about priority (and not the campaign mistake) 100K emails, if the system is setup correctly, should be sent in an hour or so (from experience on couple of projects using Sendgrid via SMTP or API, API seem to work faster; you can also use multiple SMTP servers). But manual process of stopping campaign, dealing with database and restoring back should take more time. So the question is, does it really cause any issues? Or is it more of a theoretical problem "what if". In my experience, you should not solve thiese cases at all and just let the system work for an hour...

1 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.