Up to Mantis 1.0.x releases, emails were always sent synchronously. This means that when the user performs an action that triggers the sending of emails, the user had to wait till the emails are actually constructed and sent. The email queueing feature was first implement in Mantis 1.1.0a1 release.
The requirements to this feature were:
Now that the emails are queued, we need to run the 'mantis/core/send_emails.php' regulary to send the emails. It is recommended to run this script every 1 to 5 minutes. In the example below, we will demonstrate how to run it every minute.
Following is the command line we need to execute:
php /path/to/mantis/scripts/send_emails.php
Following are the settings that determine how often it the script should run. In this case it's every minute:
Minute = *, Hour = *, Day = *, Month = *, Weekday = *
For hosted environments offering cPanel, the above information will be set after clicking “Cron jobs”, “Advanced (Unix Style)”. You will typically want to also provide your email as the address to which the cronjob output should be sent. This will help you to make sure that the script is running successfully. Once this is established, you should remove your email to avoid getting an email every minute.
In shared environments that supports cron jobs only with lynx, the check “send_emails.php is not allowed to run through the web server” possibly has to be modified. Bearing in mind that this change basically allows anyone knowing the URL to execute the script, which could potentially lead to DOS attacks move the script to a non-standard location or try to secure it so it can externally eg only be run from localhost or with .htaccess parameters.
Using the windows task scheduler is just as easy as using cron jobs. Just add a new task that is executing
/path/to/php-installation/php-cgi.exe /path/to/mantis/scripts/send_emails.php
Please add any comments or questions in this sections. Feel free to apply corrections or additions to the main body of the text.