Mail Queue

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.

Settings


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).

Click to expand
Click to expand

Temporary storage

The messages temporarily sent to the smtp queue are stored in tiki database table tiki_mail_queue, which has these 3 fields:

  • messageId
  • message
  • attempts

Cron

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):

Copy to clipboard
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



Alias names of this page:
Queue | Email Queue | E-mail Queue | EmailQueue | E-mailQueue | MailQueue