Some features in the software send a lot of e-mails at once and for these there is the email queue. An email queue allows emails to accumulate from different features that send them. Once in the queue the system sends those emails in that queue within bunches of 50 (by default) at regular intervals in time using cron jobs. The email queue has many benefits and alleviates issues that can happen when large amounts of emails need to be sent out at once. The software queues the e-mails so that they can be sent a few at a time, instead of all at once.
Benefits of the email queue feature include:
The queued e-mails are sent by the cron job labeled process_email_queue. You can see the cron jobs in your admin panel at Site Setup > Cron Jobs.
Some of the features that make use of the email queue are:
If "heartbeat" (default) or cron (if used) are not running on your site the emails in the email queue will not be sent.
Other features use cron jobs to send emails based on a specific time without an individual triggering that it. These emails are sent on triggers like specific time before expiration where time is the trigger and not an event or user of the software. The emails sent by cron are usually one off emails. Examples of those are there:
If "heartbeat" (default) or cron (if used) isn't running in your site these emails will not be sent.
Send e-mail queue faster: There is a way to make the e-mails that are queued in the system to be sent faster than they would normally. You can also use this technique to help diagnose problems with sending e-mails.