Since Tiki10 there is a feature to place all notification email messages in a queue, and send all those emails periodically through a Cron job using ./console.php script with mail-queue:send parameter. See also Console
(N.B. Historical note: Prior to Tiki 12.2 the command was ./sendmail.php)
This requires setting up mail delivery with a SMTP server instead of just sendmail, and set it to use a Queue.
See Admin home > General > General Preferences > Mail
In some servers (email accounts set up with ISPConfig standard options), this is known to work with:
- Authentication PLAIN
- Security: TLS
- Port: 587
- Local server name: server.example.com
(i.e., the real Fully Qualified Domain Name of the server, which is not the same as the mailname, which could be example.com or mail.example.com, or the smtp server, which usually is smtp.example.com).
The messages temporarily sent to the smtp queue are stored in tiki database table tiki_mail_queue, which has these 3 fields:
Example of cron job in a linux box, for site1.example.com on a Multitiki instance at directory /var/www/tiki, that will send emails from the queue every 5 minutes starting at minute 2 of each hour (see Console and Cron for more details):
2,7,12,17,22,27,32,37,42,47,52,57 * * * * cd /var/www/tiki/;php console.php mail-queue:send --site=site1.example.com > /dev/null 2>&1